/** * 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(); }
/** * 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(); }
/** * 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(); }
@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; }
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; }
/** * 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); } }
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; }
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; } }
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); }
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; }
@OPTIONS @Path("/{id}") public Response handleCorsPreflightOntology(@PathParam(value = "id") String id, @Context HttpHeaders headers){ ResponseBuilder res = Response.ok(); return res.build(); }
@OPTIONS @Path("/{id}/source") public Response handleCorsPreflightOntologySource(@PathParam(value = "id") String id, @Context HttpHeaders headers){ ResponseBuilder res = Response.ok(); return res.build(); }
@OPTIONS @Path("/{id}/find") public Response handleCorsPreflightOntologyFind(@PathParam(value = "id") String id, @Context HttpHeaders headers){ ResponseBuilder res = Response.ok(); return res.build(); }
@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()); }
@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()); }
@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()); }
@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()); }
@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()); }
@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()); }
/** 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()); }
@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()); }
@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()); }
/** * 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(); }
/** * 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(); }
/** * 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(); }
/** * 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(); }
/** * 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(); }
/** * 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(); }
/** * 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(); }
/** * 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(); }
/** * OPTIONS Method. * @return JAX-RS Response */ @Override @OPTIONS // @Path("") public Response optionsRoot() { // アクセス制御 this.checkAccessContext(this.getAccessContext(), BoxPrivilege.READ); return super.doGetOptionsMetadata(); }
/** * 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(); }
/** * OPTIONSメソッド. * @return JAX-RS Response */ @OPTIONS // @Path("") public Response optionsRoot() { // アクセス制御 this.checkAccessContext(this.getAccessContext(), BoxPrivilege.READ); return PersoniumCoreUtils.responseBuilderForOptions( HttpMethod.GET ).build(); }
/** * 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(); }
/** * 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(); }
/** * 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(); }
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(); }