throw new HttpRequestException("Spiders are not allowed in Rakam Analytics.", FORBIDDEN);
public Object extract(ObjectNode node, RakamHttpRequest request) { try { return mapper.convertValue(node, type); } catch (IllegalArgumentException e) { throw new HttpRequestException(e.getMessage(), BAD_REQUEST); } } }
@Override public T extract(ObjectNode node, RakamHttpRequest request) { String value = request.headers().get(name); if (value == null && required) { throw new HttpRequestException("'" + name + "' header parameter is required.", BAD_REQUEST); } try { return mapper.apply(value); } catch (Exception e) { throw new HttpRequestException(String.format("Unable to parse header parameter %s", name), BAD_REQUEST); } } }
@Override public T extract(ObjectNode node, RakamHttpRequest request) { List<String> strings = request.params().get(name); if ((strings == null || strings.isEmpty())) { if (required) { throw new HttpRequestException("'" + name + "' query parameter is required.", BAD_REQUEST); } else { return null; } } try { return mapper.apply(strings.get(0)); } catch (Exception e) { throw new HttpRequestException(String.format("Unable to parse query parameter %s", name), BAD_REQUEST); } } }
public Object extract(ObjectNode node, RakamHttpRequest request) { JsonNode value = node.get(name); Object o; if (value == null) { o = null; } else { try { o = mapper.convertValue(value, type); } catch (IllegalArgumentException e) { throw new HttpRequestException(name + " body parameter cannot be cast to " + type.toString() + ": "+e.getMessage(), BAD_REQUEST); } } if (required && (o == null || o == NullNode.getInstance())) { throw new HttpRequestException(name + " body parameter is required", BAD_REQUEST); } return o; } }
@Override public String extract(ObjectNode node, RakamHttpRequest request) { for (Cookie cookie : request.cookies()) { if (name.equals(cookie.name())) { // TODO fixme: the value of cookie parameter always must be String. return cookie.value(); } } if (required) { throw new HttpRequestException("'" + name + "' cookie is required.", BAD_REQUEST); } return null; } }
throw new HttpRequestException("Spiders are not allowed in Rakam Analytics.", HttpResponseStatus.FORBIDDEN);
server.uncaughtExceptionHandler.handle(request, new HttpRequestException(errorMessage, REQUEST_ENTITY_TOO_LARGE)); HttpServer.returnError(request, "Body is too large.", REQUEST_ENTITY_TOO_LARGE); ctx.close();