new QueryStringDecoder(request.getUri()).getParameters(); final List<String> keepAliveList = q.get("keepAlive"); boolean keepAliveParam = false;
public Map<String, String> params() { if (params == null) { QueryStringDecoder queryStringDecoder = new QueryStringDecoder(uri); Map<String, List<String>> prms = queryStringDecoder.getParameters(); if (prms.isEmpty()) { params = new HashMap<>(); } else { params = new HashMap<>(prms.size()); for (Map.Entry<String, List<String>> entry: prms.entrySet()) { params.put(entry.getKey(), entry.getValue().get(0)); } } } return params; }
private ResourceStatus getStatusParam(HttpRequest request) throws IllegalArgumentException { Map<String, List<String>> queryParams = new QueryStringDecoder(request.getUri()).getParameters(); return queryParams.containsKey("status") ? ResourceStatus.valueOf(queryParams.get("status").get(0).toUpperCase()) : null; } }
protected String sanitizeUri(String uri) throws URISyntaxException { // Decode the path. try { uri = URLDecoder.decode(uri, "UTF-8"); } catch (UnsupportedEncodingException e) { try { uri = URLDecoder.decode(uri, "ISO-8859-1"); } catch (UnsupportedEncodingException e1) { throw new Error(); } } // Convert file separators. uri = uri.replace(File.separatorChar, '/'); // Simplistic dumb security check. // You will have to do something serious in the production environment. if (uri.contains(File.separator + ".") || uri.contains("." + File.separator) || uri.startsWith(".") || uri.endsWith(".")) { return null; } QueryStringDecoder decoder = new QueryStringDecoder(uri); uri = decoder.getPath(); if (uri.endsWith("/")) { uri += "index.html"; } return uri; }
/** * Retrieves query parameters from {@code request}. * * @param request the request * @param names list of query parameters names * @return {@link Map} of query parameters */ private Map<String, String> getFilters(HttpRequest request, List<String> names) { Map<String, List<String>> queryParams = new QueryStringDecoder(request.getUri()).getParameters(); Map<String, String> filters = Maps.newHashMap(); for (String name : names) { List<String> values = queryParams.get(name); if (values != null && !values.isEmpty()) { filters.put(name, values.get(0)); } } return filters; } }
private Set<Cluster.Status> getStatusFilter(HttpRequest request) { Set<Cluster.Status> filter = Sets.newHashSet(); Map<String, List<String>> queryParams = new QueryStringDecoder(request.getUri()).getParameters(); List<String> statusParams = queryParams.get("status"); if (statusParams != null && !statusParams.isEmpty()) { String statusStr = queryParams.get("status").get(0); String[] statuses = statusStr.split(","); for (String status: statuses) { try { filter.add(Cluster.Status.valueOf(status.toUpperCase())); } catch (IllegalArgumentException e) { LOG.info("Unknown cluster status {} requested.", status); } } } return filter; } }
/** * Returns the query string parameters passed in the URI. */ public Map<String, List<String>> getQueryString() { if (querystring == null) { try { querystring = new QueryStringDecoder(request.getUri()).getParameters(); } catch (IllegalArgumentException e) { throw new BadRequestException("Bad query string: " + e.getMessage()); } } return querystring; }
@Override public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception { HttpRequest request = (HttpRequest) e.getMessage(); QueryStringDecoder qsd = new QueryStringDecoder(request.getUri()); final List<String> c = qsd.getParameters().get("c"); if (c == null) { respond(e.getChannel(), HttpResponseStatus.INTERNAL_SERVER_ERROR, "\"callback\" parameter required."); return; } jsonpCallback = c.get(0); super.messageReceived(ctx, e); }
protected List<ApplicationInfo> filterClientApps(HttpRequest req, List<ApplicationInfo> apps) { List<ApplicationInfo> filteredApps = new ArrayList<ApplicationInfo>(); QueryStringDecoder dec = new QueryStringDecoder(req.getUri()); Map<String, List<String>> params = dec.getParameters(); if (params != null) { String status = QueryParameter.getFirstElement(params, "status"); Integer statusInt = null; if (status != null && !status.isEmpty()) { try { statusInt = Integer.valueOf(status); for (ApplicationInfo app : apps) { if (app.getStatus() == statusInt) { filteredApps.add(app); } } } catch (NumberFormatException e) { // status is invalid, ignore it filteredApps = Collections.unmodifiableList(apps); } } else { filteredApps = Collections.unmodifiableList(apps); } } return filteredApps; }
new QueryStringDecoder(request.getUri()).getParameters();
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception { HttpRequest request = (HttpRequest) e.getMessage(); QueryStringDecoder qsd = new QueryStringDecoder(request.getUri()); final List<String> c = qsd.getParameters().get("c"); if (c == null) { respond(e.getChannel(), HttpResponseStatus.INTERNAL_SERVER_ERROR, "\"callback\" parameter required."); return; } final String callback = c.get(0); header = ChannelBuffers.wrappedBuffer(HEADER_PART1, ChannelBuffers.copiedBuffer(callback, CharsetUtil.UTF_8), HEADER_PART2); super.messageReceived(ctx, e); }
protected HttpResponse handleTokenValidate(HttpRequest req) { HttpResponse response = null; QueryStringDecoder dec = new QueryStringDecoder(req.getUri()); Map<String, List<String>> params = dec.getParameters(); String tokenParam = QueryParameter.getFirstElement(params, QueryParameter.TOKEN); if (tokenParam == null || tokenParam.isEmpty()) { response = Response.createBadRequestResponse(); } else { AccessToken token = auth.isValidToken(tokenParam); if (token != null) { Gson gson = new Gson(); String json = gson.toJson(token); log.debug(json); response = Response.createOkResponse(json); } else { response = Response.createUnauthorizedResponse(); } } return response; }
/** * Returns either all scopes or scopes for a specific client_id passed as query parameter. * * @param req request * @return string If query param client_id is passed, then the scopes for that client_id will be returned. * Otherwise, all available scopes will be returned in JSON format. */ public String getScopes(HttpRequest req) throws OAuthException { QueryStringDecoder dec = new QueryStringDecoder(req.getUri()); Map<String, List<String>> queryParams = dec.getParameters(); if(queryParams.containsKey("client_id")) { return getScopes(queryParams.get("client_id").get(0)); } List<Scope> scopes = DBManagerFactory.getInstance().getAllScopes(); ObjectMapper mapper = new ObjectMapper(); String jsonString; try { jsonString = mapper.writeValueAsString(scopes); } catch (JsonGenerationException e) { log.error("cannot load scopes", e); throw new OAuthException(e, null, HttpResponseStatus.BAD_REQUEST); } catch (JsonMappingException e) { log.error("cannot load scopes", e); throw new OAuthException(e, null, HttpResponseStatus.BAD_REQUEST); } catch (IOException e) { log.error("cannot load scopes", e); throw new OAuthException(e, null, HttpResponseStatus.BAD_REQUEST); } return jsonString; }
protected HttpResponse handleGetAccessTokens(HttpRequest req) { HttpResponse response = null; QueryStringDecoder dec = new QueryStringDecoder(req.getUri()); Map<String, List<String>> params = dec.getParameters(); String clientId = QueryParameter.getFirstElement(params, QueryParameter.CLIENT_ID); String userId = QueryParameter.getFirstElement(params, QueryParameter.USER_ID); if (clientId == null || clientId.isEmpty()) { response = Response.createBadRequestResponse(String.format(Response.MANDATORY_PARAM_MISSING, QueryParameter.CLIENT_ID)); } else if (userId == null || userId.isEmpty()) { response = Response.createBadRequestResponse(String.format(Response.MANDATORY_PARAM_MISSING, QueryParameter.USER_ID)); } else { // check that clientId exists, no matter whether it is active or not if (!auth.isExistingClient(clientId)) { response = Response.createBadRequestResponse(Response.INVALID_CLIENT_ID); } else { List<AccessToken> accessTokens = DBManagerFactory.getInstance().getAccessTokenByUserIdAndClientApp(userId, clientId); Gson gson = new Gson(); String jsonString = gson.toJson(accessTokens); response = Response.createOkResponse(jsonString); } } return response; } }
new QueryStringDecoder(request.getUri()).getParameters();
new QueryStringDecoder(request.getUri()).getParameters(); final List<String> mapIds = splitMaps(q.get("map")); final List<String> reduceQ = q.get("reduce");
public AuthRequest(HttpRequest request) { if (request.getUri() != null) { QueryStringDecoder dec = new QueryStringDecoder(request.getUri()); Map<String, List<String>> params = dec.getParameters(); this.clientId = QueryParameter.getFirstElement(params, CLIENT_ID); this.responseType = QueryParameter.getFirstElement(params, RESPONSE_TYPE); this.redirectUri = QueryParameter.getFirstElement(params, REDIRECT_URI); this.state = QueryParameter.getFirstElement(params, STATE); this.scope = QueryParameter.getFirstElement(params, SCOPE); this.userId = QueryParameter.getFirstElement(params, USER_ID); } }
QueryStringDecoder decoder = new QueryStringDecoder("?" + request.getContent().toString(CharsetUtil.UTF_8)); List<String> d = decoder.getParameters().get("d"); if (d == null) {
private void handleService(ChannelHandlerContext ctx, MessageEvent e, Service service) throws Exception { HttpRequest request = (HttpRequest)e.getMessage(); request.setUri(request.getUri().replaceFirst(service.getUrl(), "")); QueryStringDecoder qsd = new QueryStringDecoder(request.getUri()); String path = qsd.getPath();
public void handle(HttpRequest request, HttpResponse response) { QueryStringDecoder qsd = new QueryStringDecoder(request.getUri()); String path = qsd.getPath(); if (!path.matches(".*/iframe[0-9-.a-z_]*.html")) { response.setStatus(HttpResponseStatus.NOT_FOUND); response.setContent(ChannelBuffers.copiedBuffer("Not found", CharsetUtil.UTF_8)); return; } response.setHeader(HttpHeaders.Names.SET_COOKIE, "JSESSIONID=dummy; path=/"); if (request.containsHeader(HttpHeaders.Names.IF_NONE_MATCH)) { response.setStatus(HttpResponseStatus.NOT_MODIFIED); response.removeHeader(HttpHeaders.Names.CONTENT_TYPE); } else { response.setHeader(HttpHeaders.Names.CONTENT_TYPE, "text/html; charset=UTF-8"); response.setHeader(HttpHeaders.Names.CACHE_CONTROL, "max-age=31536000, public"); response.setHeader(HttpHeaders.Names.EXPIRES, "FIXME"); // FIXME: Fix this response.removeHeader(HttpHeaders.Names.SET_COOKIE); response.setContent(content); } response.setHeader(HttpHeaders.Names.ETAG, etag); }