CORS AWS using Lambda (JAVA)

Viewed 1909

I am using AWS API Gateway with a Java Lambda Backend. Everything is peachy until a friend using Angular 4 is trying to make requests. He keeps getting:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at URL (Reason: CORS header 'Access-Control-Allow-Origin' missing).

I have enabled CORS via the gateway:

AWS image

Despite this the error remains. What should I modify ?

Thanks.

Ian's Comments: I use Output/Input Streams so my output, as per your comment I am trying as below but still no success. Any ideas ?

private void sendResponse(JSONObject body, int statusCode, OutputStream outputStream)
{   
    OutputStreamWriter writer;                                                             
    JSONObject responseJson = new JSONObject(); 
    JSONObject responseHeadersJson = new JSONObject();
    responseHeadersJson.put("Access-Control-Allow-Origin","*");
    responseHeadersJson.put("Access-Control-Allow-Headers","Content-Type");

    responseJson.put("headers",responseHeadersJson);
    responseJson.put("statusCode", statusCode);
    responseJson.put("body", body.toJSONString());          
    try {
        writer = new OutputStreamWriter(outputStream, "UTF-8");
        writer.write(responseJson.toJSONString());  
        writer.close(); 
    } catch (IOException e) {
        System.out.println("Outputstream Error "+e);
    }}
1 Answers
Related