Java 类javax.ws.rs.OPTIONS 实例源码

项目:trellis    文件:LdpResource.java   
/**
 * Perform an OPTIONS operation on an LDP Resource.
 *
 * @param req the request
 * @return the response
 */
@OPTIONS
@Timed
public Response options(@BeanParam final LdpRequest req) {

    final String urlBase = getBaseUrl(req);
    final IRI identifier = rdf.createIRI(TRELLIS_PREFIX + req.getPath());
    final OptionsHandler optionsHandler = new OptionsHandler(req, resourceService, urlBase);

    if (nonNull(req.getVersion())) {
        return resourceService.get(identifier, req.getVersion().getInstant()).map(optionsHandler::ldpOptions)
            .orElseGet(() -> status(NOT_FOUND)).build();
    }

    return resourceService.get(identifier).map(optionsHandler::ldpOptions)
        .orElseGet(() -> status(NOT_FOUND)).build();
}
项目:personium-core    文件:DavRsCmp.java   
/**
 * OPTIONS Method.
 * @return JAX-RS Response
 */
@OPTIONS
public Response options() {
    // AccessControl
    this.checkAccessContext(this.getAccessContext(), BoxPrivilege.READ);

    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.PUT,
            HttpMethod.DELETE,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.MKCOL,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPFIND,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPPATCH,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.ACL
            ).build();
}
项目:personium-core    文件:DavCollectionResource.java   
/**
 * OPTIONSメソッド.
 * @return JAX-RS Response
 */
@OPTIONS
public Response options() {
    // アクセス制御
    this.davRsCmp.checkAccessContext(this.davRsCmp.getAccessContext(), BoxPrivilege.READ);

    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.PUT,
            HttpMethod.DELETE,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.MKCOL,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.MOVE,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPFIND,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPPATCH,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.ACL
            ).build();
}
项目:trellis    文件:LdpResource.java   
/**
 * Perform an OPTIONS operation on an LDP Resource.
 *
 * @param req the request
 * @return the response
 */
@OPTIONS
@Timed
public Response options(@BeanParam final LdpRequest req) {

    final String urlBase = getBaseUrl(req);
    final IRI identifier = rdf.createIRI(TRELLIS_PREFIX + req.getPath());
    final OptionsHandler optionsHandler = new OptionsHandler(req, resourceService, urlBase);

    if (nonNull(req.getVersion())) {
        return resourceService.get(identifier, req.getVersion().getInstant()).map(optionsHandler::ldpOptions)
            .orElseGet(() -> status(NOT_FOUND)).build();
    }

    return resourceService.get(identifier).map(optionsHandler::ldpOptions)
        .orElseGet(() -> status(NOT_FOUND)).build();
}
项目:jrestless    文件:CorsFilterIntTest.java   
@Override
protected Application configure() {
    CorsFilter corsFilter = new CorsFilter.Builder()
            .allowMethod(HttpMethod.DELETE)
            .allowMethod(HttpMethod.OPTIONS)
            .allowHeader("ah0")
            .allowHeader("ah1")
            .allowOrigin(DEFAULT_ORIGIN)
            .allowOrigin("http://test.com")
            .exposeHeader("eh0")
            .exposeHeader("eh1")
            .build();
    ResourceConfig application = new ResourceConfig();
    application.register(corsFilter);
    application.register(TestResource.class);
    return application;
}
项目:carbon-device-mgt    文件:AnnotationProcessor.java   
private boolean isHttpMethodAvailable(Annotation[] annotations) {
    for (Annotation annotation : annotations) {
        if (annotation.annotationType().getName().equals(GET.class.getName())) {
            return true;
        } else if (annotation.annotationType().getName().equals(POST.class.getName())) {
            return true;
        } else if (annotation.annotationType().getName().equals(OPTIONS.class.getName())) {
            return true;
        } else if (annotation.annotationType().getName().equals(DELETE.class.getName())) {
            return true;
        } else if (annotation.annotationType().getName().equals(PUT.class.getName())) {
            return true;
        }
    }
    return false;
}
项目:carbon-device-mgt    文件:AnnotationProcessor.java   
/**
 * Read Method annotations indicating HTTP Methods
 *
 * @param resource
 * @param annotation
 */
private void processHTTPMethodAnnotation(APIResource resource, Annotation annotation) {
    if (annotation.annotationType().getName().equals(GET.class.getName())) {
        resource.setHttpVerb(HttpMethod.GET);
    }
    if (annotation.annotationType().getName().equals(POST.class.getName())) {
        resource.setHttpVerb(HttpMethod.POST);
    }
    if (annotation.annotationType().getName().equals(OPTIONS.class.getName())) {
        resource.setHttpVerb(HttpMethod.OPTIONS);
    }
    if (annotation.annotationType().getName().equals(DELETE.class.getName())) {
        resource.setHttpVerb(HttpMethod.DELETE);
    }
    if (annotation.annotationType().getName().equals(PUT.class.getName())) {
        resource.setHttpVerb(HttpMethod.PUT);
    }
}
项目:carbon-device-mgt    文件:AnnotationProcessor.java   
private boolean isHttpMethodAvailable(Annotation[] annotations) {
    for (Annotation annotation : annotations) {
        if (annotation.annotationType().getName().equals(GET.class.getName())) {
            return true;
        } else if (annotation.annotationType().getName().equals(POST.class.getName())) {
            return true;
        } else if (annotation.annotationType().getName().equals(OPTIONS.class.getName())) {
            return true;
        } else if (annotation.annotationType().getName().equals(DELETE.class.getName())) {
            return true;
        } else if (annotation.annotationType().getName().equals(PUT.class.getName())) {
            return true;
        }
    }
    return false;
}
项目:Zoo    文件:SwaggerUtil.java   
public static List<SwaggerOperation> documentOperations(SwaggerModel models, Method method) {
    List<SwaggerOperation> ops = new ArrayList<SwaggerOperation>();

    Annotation[] annotations = method.getAnnotations();
    if (annotationPresent(GET.class, annotations)) {
        ops.add(createOperation(models, GET, method, annotations));
    }
    if (annotationPresent(PUT.class, annotations)) {
        ops.add(createOperation(models, PUT, method, annotations));
    }
    if (annotationPresent(POST.class, annotations)) {
        ops.add(createOperation(models, POST, method, annotations));
    }
    if (annotationPresent(DELETE.class, annotations)) {
        ops.add(createOperation(models, DELETE, method, annotations));
    }
    if (annotationPresent(HEAD.class, annotations)) {
        ops.add(createOperation(models, HEAD, method, annotations));
    }
    if (annotationPresent(OPTIONS.class, annotations)) {
        ops.add(createOperation(models, OPTIONS, method, annotations));
    }

    return ops;
}
项目:routing-bird    文件:RestfulHelpEndpoints.java   
private String verb(Method m) {
    if (m.getAnnotation(DELETE.class) != null) {
        return "DELETE  ";
    } else if (m.getAnnotation(GET.class) != null) {
        return "GET     ";
    } else if (m.getAnnotation(HEAD.class) != null) {
        return "HEAD    ";
    } else if (m.getAnnotation(OPTIONS.class) != null) {
        return "OPTIONS ";
    } else if (m.getAnnotation(POST.class) != null) {
        return "POST    ";
    } else if (m.getAnnotation(PUT.class) != null) {
        return "PUT     ";
    } else {
        return null;
    }

}
项目:vxms    文件:RESTInitializer.java   
private static void initHttpOptions(
    VxmsShared vxmsShared,
    Router router,
    Object service,
    Method restMethod,
    Path path,
    Stream<Method> errorMethodStream,
    Optional<Consumes> consumes) {
  final Route route = router.options(URIUtil.cleanPath(path.value()));
  final Vertx vertx = vxmsShared.getVertx();
  final Context context = vertx.getOrCreateContext();
  final String methodId =
      path.value()
          + OPTIONS.class.getName()
          + ConfigurationUtil.getCircuitBreakerIDPostfix(context.config());
  initHttpOperation(
      methodId,
      vxmsShared,
      service,
      restMethod,
      route,
      errorMethodStream,
      consumes,
      OPTIONS.class);
}
项目:funsteroid    文件:ReflectionUtil.java   
public static String getHttpMethod(Method method){
    if (method.getAnnotation(GET.class)!=null){
        return HttpMethod.GET;
    }
    if (method.getAnnotation(POST.class)!=null){
        return HttpMethod.POST;
    }
    if (method.getAnnotation(DELETE.class)!=null){
        return HttpMethod.DELETE;
    }
    if (method.getAnnotation(PUT.class)!=null){
        return HttpMethod.PUT;
    }
    if (method.getAnnotation(OPTIONS.class)!=null){
        return HttpMethod.OPTIONS;
    }
    if (method.getAnnotation(HEAD.class)!=null){
        return HttpMethod.HEAD;
    }       
    return null;
}
项目:ontonethub    文件:OntonethubIndexingResource.java   
@OPTIONS
@Path("/{id}")
public Response handleCorsPreflightOntology(@PathParam(value = "id") String id,
        @Context HttpHeaders headers){
    ResponseBuilder res = Response.ok();
    return res.build();
}
项目:ontonethub    文件:OntonethubIndexingResource.java   
@OPTIONS
@Path("/{id}/source")
public Response handleCorsPreflightOntologySource(@PathParam(value = "id") String id,
        @Context HttpHeaders headers){
    ResponseBuilder res = Response.ok();
    return res.build();
}
项目:ontonethub    文件:OntonethubIndexingResource.java   
@OPTIONS
@Path("/{id}/find")
public Response handleCorsPreflightOntologyFind(@PathParam(value = "id") String id,
        @Context HttpHeaders headers){
    ResponseBuilder res = Response.ok();
    return res.build();
}
项目:abhot    文件:MetricsResource.java   
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path("/version")
public Response corsPreflightVersion(@HeaderParam("Access-Control-Request-Headers") final String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") final String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:abhot    文件:MetricsResource.java   
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path("/metricnames")
public Response corsPreflightMetricNames(@HeaderParam("Access-Control-Request-Headers") final String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") final String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:abhot    文件:MetricsResource.java   
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path("/tagnames")
public Response corsPreflightTagNames(@HeaderParam("Access-Control-Request-Headers") final String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") final String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:abhot    文件:MetricsResource.java   
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path("/tagvalues")
public Response corsPreflightTagValues(@HeaderParam("Access-Control-Request-Headers") final String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") final String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:abhot    文件:MetricsResource.java   
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path("/datapoints")
public Response corsPreflightDataPoints(@HeaderParam("Access-Control-Request-Headers") String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:abhot    文件:MetricsResource.java   
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path("/datapoints/query/tags")
public Response corsPreflightQueryTags(@HeaderParam("Access-Control-Request-Headers") final String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") final String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:abhot    文件:MetricsResource.java   
/**
 Information for this endpoint was taken from https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS.
 <p/>
 <p/>Response to a cors preflight request to access data.
 */
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path(QUERY_URL)
public Response corsPreflightQuery(@HeaderParam("Access-Control-Request-Headers") final String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") final String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:abhot    文件:MetricsResource.java   
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path("/datapoints/delete")
public Response corsPreflightDelete(@HeaderParam("Access-Control-Request-Headers") final String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") final String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:abhot    文件:MetricsResource.java   
@OPTIONS
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@Path("/metric/{metricName}")
public Response corsPreflightMetricDelete(@HeaderParam("Access-Control-Request-Headers") String requestHeaders,
        @HeaderParam("Access-Control-Request-Method") String requestMethod)
{
    ResponseBuilder responseBuilder = getCorsPreflightResponseBuilder(requestHeaders, requestMethod);
    return (responseBuilder.build());
}
项目:personium-core    文件:CellSnapshotDavFileResource.java   
/**
 * process OPTIONS Method.
 * @return JAX-RS response object
 */
@OPTIONS
public Response options() {
    // Check exist
    checkFileExists();
    // Access Control
    davRsCmp.getParent().checkAccessContext(davRsCmp.getAccessContext(), CellPrivilege.ROOT);
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.PUT,
            HttpMethod.DELETE,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPFIND
            ).build();
}
项目:personium-core    文件:CellResource.java   
/**
 * OPTIONSメソッド.
 * @return JAX-RS Response
 */
@OPTIONS
public Response options() {
    // アクセス制御
    this.cellRsCmp.checkAccessContext(this.cellRsCmp.getAccessContext(), CellPrivilege.SOCIAL_READ);
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.POST,
            PersoniumCoreUtils.HttpMethod.PROPFIND
            ).build();
}
项目:personium-core    文件:CellImportResource.java   
/**
 * process OPTIONS Method.
 * @return JAX-RS response object
 */
@OPTIONS
public Response options() {
    // Check the authority required for execution.
    cellRsCmp.checkAccessContext(cellRsCmp.getAccessContext(), CellPrivilege.ROOT);
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.POST
            ).build();
}
项目:personium-core    文件:CellSnapshotResource.java   
/**
 * process OPTIONS Method.
 * @return JAX-RS response object
 */
@OPTIONS
public Response options() {
    // Access Control
    cellSnapshotCellRsCmp.checkAccessContext(cellSnapshotCellRsCmp.getAccessContext(), CellPrivilege.ROOT);
    return PersoniumCoreUtils.responseBuilderForOptions(
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPFIND
            ).build();
}
项目:personium-core    文件:CellExportResource.java   
/**
 * process OPTIONS Method.
 * @return JAX-RS response object
 */
@OPTIONS
public Response options() {
    // Check the authority required for execution.
    cellRsCmp.checkAccessContext(cellRsCmp.getAccessContext(), CellPrivilege.ROOT);
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.POST
            ).build();
}
项目:personium-core    文件:DavFileResource.java   
/**
 * process OPTIONS Method.
 * @return JAX-RS response object
 */
@OPTIONS
public Response options() {
    // Access Control
    this.davRsCmp.checkAccessContext(this.davRsCmp.getAccessContext(), BoxPrivilege.READ);
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.PUT,
            HttpMethod.DELETE,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.MOVE,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPFIND,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPPATCH,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.ACL
            ).build();
}
项目:personium-core    文件:PersoniumEngineSourceCollection.java   
/**
 * OPTIONSメソッドの処理.
 * @return JAX-RS応答オブジェクト
 */
@OPTIONS
public Response options() {
    // 移動元に対するアクセス制御
    this.davRsCmp.checkAccessContext(this.davRsCmp.getAccessContext(), BoxPrivilege.READ);
    return PersoniumCoreUtils.responseBuilderForOptions(
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPFIND
            ).build();
}
项目:personium-core    文件:ODataSvcCollectionResource.java   
/**
 * OPTIONSメソッド.
 * @return JAX-RS Response
 */
@Override
@OPTIONS
public Response optionsRoot() {
    // アクセス制御
    this.checkAccessContext(this.getAccessContext(), BoxPrivilege.READ);
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.DELETE,
            PersoniumCoreUtils.HttpMethod.MOVE,
            PersoniumCoreUtils.HttpMethod.PROPFIND,
            PersoniumCoreUtils.HttpMethod.PROPPATCH,
            PersoniumCoreUtils.HttpMethod.ACL
            ).build();
}
项目:personium-core    文件:PersoniumEngineSvcCollectionResource.java   
/**
 * OPTIONSメソッド.
 * @return JAX-RS Response
 */
@OPTIONS
public Response options() {
    // アクセス制御
    this.davRsCmp.checkAccessContext(this.davRsCmp.getAccessContext(), BoxPrivilege.READ);
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.DELETE,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.MOVE,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPFIND,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.PROPPATCH,
            io.personium.common.utils.PersoniumCoreUtils.HttpMethod.ACL
            ).build();
}
项目:personium-core    文件:ODataSvcSchemaResource.java   
/**
     * OPTIONS Method.
     * @return JAX-RS Response
     */
    @Override
    @OPTIONS
//    @Path("")
    public Response optionsRoot() {
        // アクセス制御
        this.checkAccessContext(this.getAccessContext(), BoxPrivilege.READ);
        return super.doGetOptionsMetadata();
    }
项目:personium-core    文件:ODataEntityResource.java   
/**
 * OPTIONSメソッド.
 * @return JAX-RS Response
 */
@OPTIONS
public Response options() {
    // アクセス制御
    this.odataResource.checkAccessContext(this.accessContext,
            this.odataResource.getNecessaryReadPrivilege(getEntitySetName()));

    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.PUT,
            PersoniumCoreUtils.HttpMethod.MERGE,
            HttpMethod.DELETE
            ).build();
}
项目:personium-core    文件:ODataResource.java   
/**
     * OPTIONSメソッド.
     * @return JAX-RS Response
     */
    @OPTIONS
//    @Path("")
    public Response optionsRoot() {
        // アクセス制御
        this.checkAccessContext(this.getAccessContext(), BoxPrivilege.READ);
        return PersoniumCoreUtils.responseBuilderForOptions(
                HttpMethod.GET
                ).build();
    }
项目:personium-core    文件:ODataPropertyResource.java   
/**
 * OPTIONSメソッド.
 * @return JAX-RS Response
 */
@OPTIONS
public Response options() {
    // アクセス制御
    this.odataResource.checkAccessContext(this.accessContext,
            this.odataResource.getNecessaryOptionsPrivilege());
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.POST
            ).build();
}
项目:personium-core    文件:ODataLinksResource.java   
/**
 * OPTIONSメソッド.
 * @return JAX-RS Response
 */
@OPTIONS
public Response options() {

    // アクセス制御
    this.odataResource.checkAccessContext(this.accessContext,
            this.odataResource.getNecessaryOptionsPrivilege());

    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.DELETE,
            HttpMethod.PUT,
            HttpMethod.POST
            ).build();
}
项目:personium-core    文件:ODataEntitiesResource.java   
/**
 * OPTIONSメソッド.
 * @return JAX-RS Response
 */
@OPTIONS
public Response options() {
    // アクセス制御
    this.odataResource.checkAccessContext(this.accessContext,
            this.odataResource.getNecessaryReadPrivilege(getEntitySetName()));
    return PersoniumCoreUtils.responseBuilderForOptions(
            HttpMethod.GET,
            HttpMethod.POST
            ).build();
}
项目:camunda-bpm-swagger    文件:JaxRsAnnotationStep.java   
static Optional<Class<? extends Annotation>> javaxRsAnnotation(final Method method) {
  for (final Class<? extends Annotation> a : Arrays.asList(POST.class, GET.class, PUT.class, DELETE.class, OPTIONS.class)) {
    if (method.getAnnotation(a) != null) {
      return Optional.of(a);
    }
  }

  return Optional.empty();
}