Hi All,
I am getting "The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed." type of error when requesting an API via ApiGee.
I have added an ApiGee policy of AssignMessage,
<AssignMessage async="false" continueOnError="false" enabled="true" name="add-cors">
<DisplayName>Add CORS</DisplayName>
<FaultRules/>
<Properties/>
<Add>
<Headers>
<Header name="Access-Control-Allow-Origin"> * </Header>
</Headers>
</Add>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<AssignTo createNew="false" transport="http" type="response"/>
</AssignMessage>
and having PreFlow Response as,
<PreFlow name="PreFlow">
<Request/>
<Response>
<Step>
<Name>add-cors</Name>
</Step>
</Response>
</PreFlow>
Am I missing anything? please help me out 😞
@Michael Malloy
@Gaurav Vishwas Joshi
@Dave Newman
@Barahalikar Siddharth
@Maruti Chand
@mukundha@apigee.com
@Hasan Otuome
@Scott Ganyo
@Mohsen Azimi
@all
Solved! Go to Solution.
Instead of using Add to set the Access-Control-Allow-Origin header, use Set. Since headers can support multiple values, Add will add one, rather than just setting the existing. Set will ensure that if there is already a header there you aren't doubling it up.