user4672604
user4672604

Reputation:

How to add Access-Control-Allow-Origin headers to yaws file?

I send a post request to YAWS server using AJAX from a different port/domain but javascript returns this error message:

XMLHttpRequest cannot load http://0.0.0.0:8000/index.yaws. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

Now I understand that I need to include CORS headers in index.yaws file but I don't know how to do it in Erlang.

Upvotes: 2

Views: 465

Answers (1)

Steve Vinoski
Steve Vinoski

Reputation: 20014

If you want to set only localhost as an allowed origin you could try the code below. Note that it represents the JSON results you currently return with the variable YourJsonString.

out(Arg) ->
    Hdrs = yaws_api:arg_headers(Arg),
    case yaws_api:get_header(Hdrs, "Origin") of
        "localhost" ->
            [{header, {"Access-Control-Allow-Origin", "localhost"}},
             {html, YourJsonString}];
        _ ->
            {html, YourJsonString}
    end.

Upvotes: 1

Related Questions