default <T> T getAttribute(String attributeName, Class<T> expectedClass) { Object o = getAttribute(attributeName); if (o == null) { return null; } else if (expectedClass.isAssignableFrom(o.getClass())) { return expectedClass.cast(o); } else { throw new IllegalArgumentException("Object " + o + " is not instance of expected class " + expectedClass); } }
private MediaType accept(RequestContext ctx) { try { MediaType mediaType = (MediaType) ctx.requestAttributes().getAttribute(HttpHeaders.Names.ACCEPT); if (mediaType != null) { return mediaType; } } catch (NullPointerException e) { log.trace("Unable to retrieve Accept header from Request. Defaulting to 'application/json'."); } return MediaType.JSON; }
private String getBearerToken(RequestContext requestContext) { String auth = requestContext.requestAttributes().getAttribute(HttpHeaders.Names.AUTHORIZATION, String.class); if (auth != null) { String[] a = auth.split(" "); if (a.length == 2 && a[0].equalsIgnoreCase(AUTH_TYPE)) { return a[1]; } } return null; }
private MediaType contentType(RequestContext ctx) { try { MediaType mediaType = (MediaType) ctx.requestAttributes().getAttribute(HttpHeaders.Names.CONTENT_TYPE); if (mediaType != null) { return mediaType; } } catch (NullPointerException e) { log.trace("Unable to retrieve Content-Type header from Request. Defaulting to 'application/json'."); } return MediaType.JSON; }
@Override public Collection<Resource> members(RequestContext ctx) throws Exception { List<String> tables = (List<String>) ctx.requestAttributes().getAttribute(TABLE_NAMES); return tables.stream() .map(table -> new PgSqlTableResource(this, table)) .collect(Collectors.toList()); }
RequestContext reqCtxToAuthorize = ctx.requestAttributes() != null ? ctx.requestAttributes().getAttribute(AuthzConstants.ATTR_REQUEST_CONTEXT, RequestContext.class) : null; ResourceState reqResourceState = ctx.requestAttributes() != null ? ctx.requestAttributes().getAttribute(AuthzConstants.ATTR_REQUEST_RESOURCE_STATE, ResourceState.class) : null; ResourceState respResourceState = ctx.requestAttributes() != null ? ctx.requestAttributes().getAttribute(AuthzConstants.ATTR_RESPONSE_RESOURCE_STATE, ResourceState.class) : null; if (reqCtxToAuthorize == null) { if (log.isTraceEnabled()) {
@Override public void readProperties(RequestContext ctx, PropertySink sink) throws Exception { AuthzDecision decision = null; try { if (policy != null) { RequestContext reqCtxToAuthorize = ctx.requestAttributes() != null ? ctx.requestAttributes().getAttribute(AuthzConstants.ATTR_REQUEST_CONTEXT, RequestContext.class) : null; if (reqCtxToAuthorize == null) { if (log.isTraceEnabled()) { log.trace("Request is null. Rejecting"); } decision = AuthzDecision.REJECT; } else { decision = policy.isAuthorized(reqCtxToAuthorize); } } } catch (Throwable t) { log.error("Error during authz check", t); decision = AuthzDecision.REJECT; } if (decision == null) { decision = AuthzDecision.IGNORE; } sink.accept(AuthzConstants.ATTR_AUTHZ_POLICY_RESULT, decision.toString()); sink.complete(); }
@Override public void readProperties(RequestContext ctx, PropertySink sink) throws Exception { try { RequestContext ctxToAuthorize = ctx.requestAttributes().getAttribute(AuthzConstants.ATTR_REQUEST_CONTEXT, RequestContext.class); ResourceState reqStateToAuthorize = ctx.requestAttributes().getAttribute(AuthzConstants.ATTR_REQUEST_RESOURCE_STATE, ResourceState.class); ResourceState respStateToAuthorize = ctx.requestAttributes().getAttribute(AuthzConstants.ATTR_RESPONSE_RESOURCE_STATE, ResourceState.class); if (ctxToAuthorize == null) { if (log.isTraceEnabled()) {
HttpRequest original = (HttpRequest) request.requestContext().requestAttributes().getAttribute("HTTP_REQUEST");