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

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

Introduction

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

Prototype

AsciiString ACCESS_CONTROL_ALLOW_METHODS

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

Click Source Link

Document

"access-control-allow-methods"

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 .c  o 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)//  w  ww .  j a  va2  s  .c om
@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)/*from   w w w  .jav a 2s .c  om*/
@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)//from ww  w  .  j ava2 s.c  om
@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)/*from w  w w  .j  av  a2 s.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  w w  . ja v a  2s. co  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)//from w w  w  .j ava 2s.  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// ww  w.jav  a2s .co  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./* www  .ja v a 2s  .  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;
    }//  w w  w .j a va  2s . c om
    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;
}