When you publish a API using WSO2 API Manager it creates this kind of API configuration in built in service bus.
<api name="admin--Example_Rest_API" context="/exampleAPI" version="1.0.0" version-type="url"> <resource methods="POST GET DELETE OPTIONS PUT" url-mapping="/*"> <inSequence> <property name="POST_TO_URI" value="true" scope="axis2"/> <filter source="$ctx:AM_KEY_TYPE" regex="PRODUCTION"> <then> <send> <endpoint name="admin--Emojot_Rest_API_APIproductionEndpoint_0"> <http uri-template="http://localhost:3000"> <timeout> <duration>30000</duration> <responseAction>fault</responseAction> </timeout> <suspendOnFailure> <errorCodes>-1</errorCodes> <initialDuration>0</initialDuration> <progressionFactor>1.0</progressionFactor> <maximumDuration>0</maximumDuration> </suspendOnFailure> <markForSuspension> <errorCodes>-1</errorCodes> </markForSuspension> </http> </endpoint> </send> </then> <else> <sequence key="_sandbox_key_error_"/> </else> </filter> </inSequence> <outSequence> <send/> </outSequence> </resource> <handlers> <handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/> <handler class="org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler"> <property name="id" value="A"/> <property name="policyKey" value="gov:/apimgt/applicationdata/tiers.xml"/> </handler> <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler"/> <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtGoogleAnalyticsTrackingHandler"/> <handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerExtensionHandler"/> </handlers> </api>When you want to send a custom HTTP header in the API request, you need to add this property to the out sequence of API. customHeader is the name of the header.
<property name="Access-Control-Allow-Headers" value="customHeader,authorization,Access-Control-Allow-Origin,Content-Type" scope="transport"/>
How do i set a value for the custom header
ReplyDelete