/** * makeResponse. * @param ex ex * @param request request * @param statusCode statusCode * @return error response */ public static Response makeResponse(Exception ex, ContainerRequestContext request, int statusCode) { String callback = null; if (request.getMediaType() != null && request.getMediaType().equals(MediaType.APPLICATION_JSON_TYPE)) { try { String json = IOUtils.toString(request.getEntityStream(), Charsets.UTF_8); InputStream in = IOUtils.toInputStream(json); request.setEntityStream(in); Map<String, Object> requestBody = (Map<String, Object>) JSONValue.parse(json); if (requestBody.containsKey(StormApiResource.callbackParameterName)) { callback = String.valueOf(requestBody.get(StormApiResource.callbackParameterName)); } } catch (IOException e) { LOG.error("Exception while trying to get callback ", e); } } return new JsonResponseBuilder().setData( UIHelpers.exceptionToJson(ex, statusCode)).setCallback(callback) .setStatus(statusCode).build(); }
@Override public MultivaluedMap<String, String> get() { MultivaluedMap<String, String> params = null; final MediaType mediaType = context.getMediaType(); if (mediaType != null && MediaTypes.typeEqual(mediaType, MediaType.APPLICATION_FORM_URLENCODED_TYPE)) { final ContainerRequest jerseyRequest = (ContainerRequest) context; jerseyRequest.bufferEntity(); final Form form = jerseyRequest.readEntity(Form.class); params = form.asMap(); } return params; } });
@Override public void filter(final ContainerRequestContext context) throws IOException { if (!logger.isLoggable(level)) { return; } final long id = _id.incrementAndGet(); context.setProperty(LOGGING_ID_PROPERTY, id); final StringBuilder b = new StringBuilder(); printRequestLine(b, "Server has received a request", id, context.getMethod(), context.getUriInfo().getRequestUri()); printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders()); if (context.hasEntity() && printEntity(verbosity, context.getMediaType())) { context.setEntityStream( logInboundEntity(b, context.getEntityStream(), MessageUtils.getCharset(context.getMediaType()))); } log(b); }
@Override public void filter(final ContainerRequestContext context) throws IOException { if (!logger.isLoggable(level)) { return; } final long id = _id.incrementAndGet(); context.setProperty(LOGGING_ID_PROPERTY, id); final StringBuilder b = new StringBuilder(); printRequestLine(b, "Server has received a request", id, context.getMethod(), context.getUriInfo().getRequestUri()); printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders()); if (context.hasEntity() && printEntity(verbosity, context.getMediaType())) { context.setEntityStream( logInboundEntity(b, context.getEntityStream(), MessageUtils.getCharset(context.getMediaType()))); } log(b); }
request.setMethod(override); if (override.equals("GET")) { if (request.getMediaType() != null && MediaType.APPLICATION_FORM_URLENCODED_TYPE.getType().equals(request.getMediaType().getType())) { final UriBuilder ub = request.getUriInfo().getRequestUriBuilder(); final Form f = ((ContainerRequest) request).readEntity(Form.class);
request.setMethod(override); if (override.equals("GET")) { if (request.getMediaType() != null && MediaType.APPLICATION_FORM_URLENCODED_TYPE.getType().equals(request.getMediaType().getType())) { final UriBuilder ub = request.getUriInfo().getRequestUriBuilder(); final Form f = ((ContainerRequest) request).readEntity(Form.class);
request.setMethod(override); if (override.equals("GET")) { if (request.getMediaType() != null && MediaType.APPLICATION_FORM_URLENCODED_TYPE.getType().equals(request.getMediaType().getType())) { final UriBuilder ub = request.getUriInfo().getRequestUriBuilder(); final Form f = ((ContainerRequest) request).readEntity(Form.class);
&& MediaType.APPLICATION_JSON_PATCH_JSON_TYPE.isCompatible(requestContext.getMediaType()))
@Override public void filter(ContainerRequestContext ctx) throws IOException { addMultipartFilterIfNeeded(ctx.getMediaType()); } }
@Override public Charset getCharset() { return HttpMessages.getCharset(context.getMediaType()); }
@Override public void filter(ContainerRequestContext requestContext) throws IOException { if (requestContext.getMethod().equals(HttpMethod.PUT) && requestContext.getMediaType() != null && requestContext.getMediaType().isCompatible(MediaType.MULTIPART_FORM_DATA_TYPE)) { throw new BadRequestException("Cannot PUT form data on this resource."); } } }
protected MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc, UriInfo ui) { MultivaluedMap<String, String> requestState = new MetadataMap<>(); requestState.putAll(ui.getQueryParameters(decodeRequestParameters)); if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) { String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name()); FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body, StandardCharsets.UTF_8.name(), decodeRequestParameters); } return requestState; }
protected MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc, UriInfo ui) { MultivaluedMap<String, String> requestState = new MetadataMap<>(); requestState.putAll(ui.getQueryParameters(decodeRequestParameters)); if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) { String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name()); FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body, StandardCharsets.UTF_8.name(), decodeRequestParameters); } return requestState; }
private MultivaluedMap<String, String> toFormData(ContainerRequestContext rc) { MultivaluedMap<String, String> requestState = new MetadataMap<>(); if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) { String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name()); FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body, StandardCharsets.UTF_8.name(), false); rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body))); } return requestState; } public void setIdTokenReader(IdTokenReader idTokenReader) {
private MultivaluedMap<String, String> toFormData(ContainerRequestContext rc) { MultivaluedMap<String, String> requestState = new MetadataMap<>(); if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) { String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name()); FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body, StandardCharsets.UTF_8.name(), false); rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body))); } return requestState; } public void setIdTokenReader(IdTokenReader idTokenReader) {
private MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc) { MultivaluedMap<String, String> requestState = new MetadataMap<>(); requestState.putAll(rc.getUriInfo().getQueryParameters(true)); if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) { String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name()); FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body, StandardCharsets.UTF_8.name(), true); rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body))); } return requestState; } public void setRedirectUri(String redirectUri) {
private MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc) { MultivaluedMap<String, String> requestState = new MetadataMap<>(); requestState.putAll(rc.getUriInfo().getQueryParameters(true)); if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) { String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name()); FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body, StandardCharsets.UTF_8.name(), true); rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body))); } return requestState; } public void setRedirectUri(String redirectUri) {
@Provider public class ContentTypeRequestFilter implements ContainerRequestFilter { @Override public void filter(ContainerRequestContext crc) throws IOException { if (crc.getMethod().equals("POST") && crc.getMediaType() == null && crc.getLength() == -1){ crc.getHeaders().add("content-type", MediaType.APPLICATION_JSON); InputStream in = IOUtils.toInputStream("{}"); crc.setEntityStream(in); } } }
@Override public MultivaluedMap<String, String> get() { MultivaluedMap<String, String> params = null; final MediaType mediaType = context.getMediaType(); if (mediaType != null && mediaType.equals(MediaType.APPLICATION_FORM_URLENCODED_TYPE)) { final ContainerRequest jerseyRequest = (ContainerRequest) context; jerseyRequest.bufferEntity(); final Form form = jerseyRequest.readEntity(Form.class); params = form.asMap(); } return params; } });
@Override public MultivaluedMap<String, String> get() { MultivaluedMap<String, String> params = null; final MediaType mediaType = context.getMediaType(); if (mediaType != null && mediaType.equals(MediaType.APPLICATION_FORM_URLENCODED_TYPE)) { final ContainerRequest jerseyRequest = (ContainerRequest) context; jerseyRequest.bufferEntity(); final Form form = jerseyRequest.readEntity(Form.class); params = form.asMap(); } return params; } });