/** * * @return the query parameters */ public Map<String, Deque<String>> getQueryParameters() { return exchange.getQueryParameters(); }
@Override public void writeAttribute(final HttpServerExchange exchange, final String newValue) throws ReadOnlyAttributeException { final ArrayDeque<String> value = new ArrayDeque<>(); value.add(newValue); exchange.getQueryParameters().put(parameter, value); }
@Override public Map<String, List<String>> getRequestParameters() { Map<String, List<String>> params = new HashMap<>(); for (Map.Entry<String, Deque<String>> param : exchange.getQueryParameters().entrySet()) { params.put(param.getKey(), new ArrayList<>(param.getValue())); } return params; }
@Override public String readAttribute(final HttpServerExchange exchange) { Deque<String> res = exchange.getQueryParameters().get(parameter); if(res == null) { return null; }else if(res.isEmpty()) { return ""; } else if(res.size() ==1) { return res.getFirst(); } else { StringBuilder sb = new StringBuilder("["); int i = 0; for(String s : res) { sb.append(s); if(++i != res.size()) { sb.append(", "); } } sb.append("]"); return sb.toString(); } }
@Override protected void handleImpl(HttpServerExchange exchange, ImportResult<LocalTransaction> transaction) throws Exception { Deque<String> opc = exchange.getQueryParameters().get("opc"); boolean onePhase = false; if (opc != null && !opc.isEmpty()) { onePhase = Boolean.parseBoolean(opc.poll()); } transaction.getControl().commit(onePhase); } }
@Override protected Object doOperation(HttpServerExchange exchange, String name) throws NamingException { Deque<String> newName = exchange.getQueryParameters().get("new"); if (newName == null || newName.isEmpty()) { exchange.setStatusCode(StatusCodes.BAD_REQUEST); exchange.endExchange(); return null; } try { String nn = URLDecoder.decode(newName.getFirst(), UTF_8); localContext.rename(name, nn); return null; } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } }
@Override public List<String> paramNames() { ImmutableList.Builder<String> builder = ImmutableList.builder(); builder.addAll(exchange.getQueryParameters().keySet()); FormData formdata = parseForm(); formdata.forEach(v -> { // excludes upload from param names. if (!formdata.getFirst(v).isFile()) { builder.add(v); } }); return builder.build(); }
/** * impl of dumping request query parameter to result * @param result A map you want to put dump information to */ @Override public void dumpRequest(Map<String, Object> result) { exchange.getQueryParameters().forEach((k, v) -> { if (config.getRequestFilteredQueryParameters().contains(k)) { //mask query parameter value String queryParameterValue = config.isMaskEnabled() ? Mask.maskRegex( v.getFirst(), "queryParameter", k) : v.getFirst(); queryParametersMap.put(k, queryParameterValue); } }); this.putDumpInfoTo(result); }
@Override public List<String> params(final String name) { Builder<String> builder = ImmutableList.builder(); // query params Deque<String> query = exchange.getQueryParameters().get(name); if (query != null) { query.forEach(builder::add); } // form params Optional.ofNullable(parseForm().get(name)).ifPresent(values -> values.forEach(value -> { if (!value.isFile()) { builder.add(value.getValue()); } })); return builder.build(); }
@Override public void writeAttribute(final HttpServerExchange exchange, final String newValue) throws ReadOnlyAttributeException { int pos = newValue.indexOf('?'); exchange.setResolvedPath(""); if (pos == -1) { exchange.setRelativePath(newValue); exchange.setRequestURI(newValue); exchange.setRequestPath(newValue); } else { final String path = newValue.substring(0, pos); exchange.setRequestPath(path); exchange.setRelativePath(path); exchange.setRequestURI(newValue); final String newQueryString = newValue.substring(pos); exchange.setQueryString(newQueryString); exchange.getQueryParameters().putAll(QueryParameterUtils.parseQueryString(newQueryString.substring(1), QueryParameterUtils.getQueryParamEncoding(exchange))); } }
if (!exchange.getQueryString().isEmpty()) { final TreeMap<String, Deque<String>> newParams = new TreeMap<>(); for (Map.Entry<String, Deque<String>> param : exchange.getQueryParameters().entrySet()) { final Deque<String> newVales = new ArrayDeque<>(param.getValue().size()); for (String val : param.getValue()) { exchange.getQueryParameters().clear(); exchange.getQueryParameters().putAll(newParams); PathTemplateMatch pathTemplateMatch = exchange.getAttachment(PathTemplateMatch.ATTACHMENT_KEY); if (pathTemplateMatch != null) {
@Override public void writeAttribute(final HttpServerExchange exchange, final String newValue) throws ReadOnlyAttributeException { int pos = newValue.indexOf('?'); if (pos == -1) { exchange.setRelativePath(newValue); exchange.setRequestURI(newValue); exchange.setRequestPath(newValue); exchange.setResolvedPath(""); } else { final String path = newValue.substring(0, pos); exchange.setRelativePath(path); exchange.setRequestURI(path); exchange.setRequestPath(path); exchange.setResolvedPath(""); final String newQueryString = newValue.substring(pos); exchange.setQueryString(newQueryString); exchange.getQueryParameters().putAll(QueryParameterUtils.parseQueryString(newQueryString.substring(1), QueryParameterUtils.getQueryParamEncoding(exchange))); } }
exchange.getQueryParameters().putAll(QueryParameterUtils.parseQueryString(newQueryString.substring(1), QueryParameterUtils.getQueryParamEncoding(exchange)));
private void processRequest(HttpServerExchange exchange) throws IOException { Map<String, Deque<String>> params = exchange.getQueryParameters(); boolean hasNonce = params.containsKey("nonce"); int refreshTime = 0;
Map<String, Deque<String>> pnames = exchange.getQueryParameters(); for (Map.Entry<String, Deque<String>> entry : pnames.entrySet()) { String pname = entry.getKey();
/** * * @return the query parameters */ public Map<String, Deque<String>> getQueryParameters() { return exchange.getQueryParameters(); }
@Override public Iterable<String> paramNames() { if (null == queryParams) { queryParams = hse.getQueryParameters(); } return queryParams.keySet(); }
@Override public String paramVal(String name) { if (null == queryParams) { queryParams = hse.getQueryParameters(); } Deque<String> dq = queryParams.get(name); return null == dq ? null : dq.peekFirst(); }
@Override public void writeAttribute(final HttpServerExchange exchange, final String newValue) throws ReadOnlyAttributeException { final ArrayDeque<String> value = new ArrayDeque<>(); value.add(newValue); exchange.getQueryParameters().put(parameter, value); }
@Override public Map<String, List<String>> getRequestParameters() { Map<String, List<String>> params = new HashMap<>(); for (Map.Entry<String, Deque<String>> param : exchange.getQueryParameters().entrySet()) { params.put(param.getKey(), new ArrayList<>(param.getValue())); } return params; }