Example usage for io.netty.handler.codec.http HttpHeaderNames ACCESS_CONTROL_ALLOW_HEADERS

List of usage examples for io.netty.handler.codec.http HttpHeaderNames ACCESS_CONTROL_ALLOW_HEADERS

Introduction

In this page you can find the example usage for io.netty.handler.codec.http HttpHeaderNames ACCESS_CONTROL_ALLOW_HEADERS.

Prototype

AsciiString ACCESS_CONTROL_ALLOW_HEADERS

To view the source code for io.netty.handler.codec.http HttpHeaderNames ACCESS_CONTROL_ALLOW_HEADERS.

Click Source Link

Document

"access-control-allow-headers"

Usage

From source file:net.anyflow.menton.http.HttpRequestRouter.java

License:Apache License

protected static void setDefaultHeaders(FullHttpRequest request, HttpResponse response) {
    response.headers().add(HttpHeaderNames.SERVER,

            net.anyflow.lannister.Settings.SELF.getProperty("menton.version"));

    boolean keepAlive = request.headers().get(HttpHeaderNames.CONNECTION) == HttpHeaderValues.KEEP_ALIVE
            .toString();//from w  ww.j a  v  a 2  s  .  co  m
    if (keepAlive) {
        response.headers().set(HttpHeaderNames.CONNECTION, HttpHeaderValues.KEEP_ALIVE);
    }

    if (Settings.SELF.getProperty("menton.httpServer.allowCrossDomain", "false").equalsIgnoreCase("true")) {
        response.headers().add(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN, "*");
        response.headers().add(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS, "POST, GET, PUT, DELETE");
        response.headers().add(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS, "X-PINGARUNER");
        response.headers().add(HttpHeaderNames.ACCESS_CONTROL_MAX_AGE, "1728000");
    }

    response.headers().set(HttpHeaderNames.CONTENT_LENGTH, response.content().readableBytes());
}

From source file:org.ballerinalang.composer.service.ballerina.parser.service.BallerinaParserService.java

License:Open Source License

@OPTIONS
@Path("/built-in-packages")
@Consumes(MediaType.APPLICATION_JSON)//from   w w  w  . j  a v a 2s .  c  o  m
@Produces(MediaType.APPLICATION_JSON)
public Response getBuiltInPackages() {
    return Response.ok().header(HttpHeaderNames.ACCESS_CONTROL_MAX_AGE.toString(), "600 ")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), "*")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), "true")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(),
                    "POST, GET, PUT, UPDATE, DELETE, OPTIONS, HEAD")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                    HttpHeaderNames.CONTENT_TYPE.toString() + ", " + HttpHeaderNames.ACCEPT.toString()
                            + ", X-Requested-With")
            .build();
}

From source file:org.ballerinalang.composer.service.ballerina.parser.service.BallerinaParserService.java

License:Open Source License

@OPTIONS
@Path("/endpoints")
@Consumes(MediaType.APPLICATION_JSON)/*w  w w. j a va 2  s  .c  o m*/
@Produces(MediaType.APPLICATION_JSON)
public Response getEndpointOptions() {
    return Response.ok().header(HttpHeaderNames.ACCESS_CONTROL_MAX_AGE.toString(), "600 ")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), "*")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), "true")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(),
                    "POST, GET, PUT, UPDATE, DELETE, OPTIONS, HEAD")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                    HttpHeaderNames.CONTENT_TYPE.toString() + ", " + HttpHeaderNames.ACCEPT.toString()
                            + ", X-Requested-With")
            .build();
}

From source file:org.ballerinalang.composer.service.ballerina.parser.service.BallerinaParserService.java

License:Open Source License

@OPTIONS
@Path("/actions")
@Consumes(MediaType.APPLICATION_JSON)//w  ww  . j av a 2s . com
@Produces(MediaType.APPLICATION_JSON)
public Response getActionsOptions() {
    return Response.ok().header(HttpHeaderNames.ACCESS_CONTROL_MAX_AGE.toString(), "600 ")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), "*")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), "true")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(),
                    "POST, GET, PUT, UPDATE, DELETE, OPTIONS, HEAD")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                    HttpHeaderNames.CONTENT_TYPE.toString() + ", " + HttpHeaderNames.ACCEPT.toString()
                            + ", X-Requested-With")
            .build();
}

From source file:org.ballerinalang.composer.service.ballerina.parser.service.BallerinaParserService.java

License:Open Source License

@OPTIONS
@Path("/built-in-types")
@Consumes(MediaType.APPLICATION_JSON)//w ww.  j a v a 2s.c om
@Produces(MediaType.APPLICATION_JSON)
public Response getBuiltInTypesOptions() {
    return Response.ok().header(HttpHeaderNames.ACCESS_CONTROL_MAX_AGE.toString(), "600 ")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), "*")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), "true")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(),
                    "POST, GET, PUT, UPDATE, DELETE, OPTIONS, HEAD")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                    HttpHeaderNames.CONTENT_TYPE.toString() + ", " + HttpHeaderNames.ACCEPT.toString()
                            + ", X-Requested-With")
            .build();
}

From source file:org.ballerinalang.composer.service.ballerina.parser.service.BallerinaParserService.java

License:Open Source License

@OPTIONS
@Path("/file/validate-and-parse")
@Consumes(MediaType.APPLICATION_JSON)/* w  ww  .j a  va  2  s  .  c  o  m*/
@Produces(MediaType.APPLICATION_JSON)
public Response validateAndParseOptions() {
    return Response.ok().header("Access-Control-Max-Age", "600 ")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), "*")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), "true")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(),
                    "POST, GET, PUT, UPDATE, DELETE, OPTIONS, HEAD")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                    HttpHeaderNames.CONTENT_TYPE.toString() + ", " + HttpHeaderNames.ACCEPT.toString()
                            + ", X-Requested-With")
            .build();
}

From source file:org.ballerinalang.composer.service.ballerina.parser.service.BallerinaParserService.java

License:Open Source License

@OPTIONS
@Path("/model/parse-fragment")
@Consumes(MediaType.APPLICATION_JSON)//  ww  w  .  j av  a2  s .  c  om
@Produces(MediaType.APPLICATION_JSON)
public Response optionsParseFragment() {
    return Response.ok().header("Access-Control-Max-Age", "600 ")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), "*")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), "true")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(), "POST, GET, OPTIONS")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                    HttpHeaderNames.CONTENT_TYPE.toString() + ", " + HttpHeaderNames.ACCEPT.toString()
                            + ", X-Requested-With")
            .build();
}

From source file:org.ballerinalang.composer.service.fs.service.FileSystemService.java

License:Open Source License

/**
 * Create CORS Response allowing all origins.
 *
 * TODO: Find a better solution to handle CORS in a global manner
 * and to avoid redundant logic for CORS in each service.
 *
 * @return CORS Response// w w  w.ja  v  a2 s  .  c  o  m
 */
public Response createCORSResponse() {
    return Response.ok().header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), "*")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), "true")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(), "POST, GET, OPTIONS ")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                    HttpHeaderNames.CONTENT_TYPE.toString() + ", " + HttpHeaderNames.ACCEPT.toString()
                            + ", X-Requested-With")
            .build();
}

From source file:org.ballerinalang.composer.service.tryit.service.TryItService.java

License:Open Source License

/**
 * The options in requests./*from   w w w.j a  va  2  s . c o  m*/
 * @return The options in responses.
 */
@OPTIONS
@Path("/{protocol}")
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.APPLICATION_JSON)
public Response options() {
    return Response.ok().header("Access-Control-Max-Age", "600 ")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), "*")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), "true")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(),
                    "POST, GET, PUT, UPDATE, DELETE, OPTIONS, HEAD")
            .header(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                    HttpHeaderNames.CONTENT_TYPE.toString() + ", " + HttpHeaderNames.ACCEPT.toString()
                            + ", X-Requested-With")
            .build();

}

From source file:org.ballerinalang.net.http.CorsHeaderGenerator.java

License:Open Source License

private static Map<String, String> processPreflightRequest(String originValue, HttpCarbonMessage cMsg) {
    Map<String, String> responseHeaders = new HashMap<>();
    //6.2.1 - request must have origin, must have one origin.
    List<String> requestOrigins = getOriginValues(originValue);
    if (requestOrigins == null || requestOrigins.size() != 1) {
        bLog.info("{} origin header field parsing failed", ACTION);
        return null;
    }//from  w  w  w . ja va 2 s.c o m
    String origin = requestOrigins.get(0);
    //6.2.3 - request must have access-control-request-method, must be single-valued
    List<String> requestMethods = getHeaderValues(HttpHeaderNames.ACCESS_CONTROL_REQUEST_METHOD.toString(),
            cMsg);
    if (requestMethods == null || requestMethods.size() != 1) {
        String error = requestMethods == null ? "Access-Control-Request-Method header is unavailable"
                : "Access-Control-Request-Method header value must be single-valued";
        bLog.info("{} {}", ACTION, error);
        return null;
    }
    String requestMethod = requestMethods.get(0);
    CorsHeaders resourceCors = getResourceCors(cMsg, requestMethod);
    if (resourceCors == null || !resourceCors.isAvailable()) {
        String error = resourceCors == null ? "access control request method not allowed"
                : "CORS headers not declared properly";
        bLog.info("{} {}", ACTION, error);
        return null;
    }
    if (!isEffectiveMethod(requestMethod, resourceCors.getAllowMethods())) {
        bLog.info("{} access control request method not allowed", ACTION);
        return null;
    }
    //6.2.2 - request origin must be on the list or match with *.
    if (!isEffectiveOrigin(Arrays.asList(origin), resourceCors.getAllowOrigins())) {
        bLog.info("{} origin not allowed", ACTION);
        return null;
    }
    //6.2.4 - get list of request headers.
    List<String> requestHeaders = getHeaderValues(HttpHeaderNames.ACCESS_CONTROL_REQUEST_HEADERS.toString(),
            cMsg);
    if (!isEffectiveHeader(requestHeaders, resourceCors.getAllowHeaders())) {
        bLog.info("{} header field parsing failed", ACTION);
        return null;
    }
    //6.2.7 - set origin and credentials
    setAllowOriginAndCredentials(Arrays.asList(origin), resourceCors, responseHeaders);
    //6.2.9 - set allow-methods
    responseHeaders.put(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(), requestMethod);
    //6.2.10 - set allow-headers
    if (requestHeaders != null) {
        responseHeaders.put(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(),
                DispatcherUtil.concatValues(requestHeaders, false));
    }
    //6.2.8 - set max-age
    responseHeaders.put(HttpHeaderNames.ACCESS_CONTROL_MAX_AGE.toString(),
            String.valueOf(resourceCors.getMaxAge()));
    return responseHeaders;
}