/** * This method may be used if some other entity processed request parameters * and wishes to expose them via the request. When this method is called, * it will mark the internal request parameter state as having been processed. * * @param parameters the parameters to expose via this request. * * @since 2.2 */ public void setRequestParameters(final Parameters parameters) { this.requestParametersParsed = true; for (final String name : parameters.getParameterNames()) { this.parameters.addParameterValues(name, parameters.getParameterValues(name)); } }
public String[] getParameterValues(String name) { handleQueryParameters(); final ArrayList<String> values; // sub-request if (currentChild != null) { currentChild.merge(); values = currentChild.paramHashValues.get(name); } else { // no "facade" values = paramHashValues.get(name); } return ((values != null) ? values.toArray(new String[values.size()]) : null); }
/** * Discard the last child. This happens when we return from a sub-request and the parameters are locally modified. */ public void pop() { if (currentChild == null) { throw new RuntimeException("Attempt to pop without a push"); } currentChild.recycle(); currentChild = currentChild.parent; // don't remove the top. } // -------------------- Data access --------------------
currentChild = new Parameters(); currentChild.child = new Parameters(); currentChild.setEncoding(encoding);
charset = Constants.DEFAULT_HTTP_CHARSET; mergedParameters.setEncoding(charset); mergedParameters.setQueryStringEncoding(charset); mergedParameters.setQuery(queryDC); mergedParameters.handleQueryParameters(); mergedParameters.addParameterValues(entry.getKey(), entry.getValue());
inputBuffer.initialize(this, ctx); parameters.setHeaders(request.getHeaders()); parameters.setQuery(request.getQueryStringDC()); final ServerFilterConfiguration configuration = httpServerFilter.getConfiguration(); parameters.setQueryStringEncoding(configuration.getDefaultQueryEncoding());
private static UpgradeRequest createWebSocketRequest(final HttpContent requestContent) { final HttpRequestPacket requestPacket = (HttpRequestPacket) requestContent.getHttpHeader(); Parameters parameters = new Parameters(); parameters.setQuery(requestPacket.getQueryStringDC()); parameters.setQueryStringEncoding(Charsets.UTF8_CHARSET); Map<String, String[]> parameterMap = new HashMap<String, String[]>(); for (String paramName : parameters.getParameterNames()) { parameterMap.put(paramName, parameters.getParameterValues(paramName)); } final RequestContext requestContext = RequestContext.Builder.create() .requestURI( URI.create(requestPacket.getRequestURI())) .queryString(requestPacket.getQueryString()) .parameterMap(parameterMap) .secure(requestPacket.isSecure()) .remoteAddr(requestPacket.getRemoteAddress()) .build(); for (String name : requestPacket.getHeaders().names()) { for (String headerValue : requestPacket.getHeaders().values(name)) { final List<String> values = requestContext.getHeaders().get(name); if (values == null) { requestContext.getHeaders().put(name, Utils.parseHeaderValue(headerValue.trim())); } else { values.addAll(Utils.parseHeaderValue(headerValue.trim())); } } } return requestContext; }
private ParameterMap getParameterMapInternal() { if (parameterMap.isLocked()) { return parameterMap; } for (final String name : mergedParameters.getParameterNames()) { final String[] values = mergedParameters.getParameterValues(name); parameterMap.put(name, values); } parameterMap.setLocked(true); return parameterMap; }
/** * Add a parameter name and corresponding set of values to this Request. * (This is used when restoring the original request on a form based * login). * * @param name Name of this request parameter * @param values Corresponding values for this request parameter */ @SuppressWarnings("unused") public void addParameter(String name, String values[]) { parameters.addParameterValues(name, values); }
@Override public String run() { return mergedParameters.getParameter( name ); } }
@Override public String[] run() { return mergedParameters.getParameterValues( name ); } }
@Override public Set<String> run() { return mergedParameters.getParameterNames(); } }
/** * Clear the collection of parameters associated with this Request * and reset the query string encoding charset. */ @Override public void clearParameters() { coyoteRequest.getParameters().recycle(); coyoteRequest.getParameters().setQueryStringEncoding( Charsets.lookupCharset(getConnector().getURIEncoding())); }
final Parameters formParams = new Parameters(); final UploadMultipartHandler uploadHandler = new UploadMultipartHandler(uploadedFiles, dir, formParams);
charset = Constants.DEFAULT_HTTP_CHARSET; mergedParameters.setEncoding(charset); mergedParameters.setQueryStringEncoding(charset); mergedParameters.setQuery(queryDC); mergedParameters.handleQueryParameters(); mergedParameters.addParameterValues(entry.getKey(), entry.getValue());
inputBuffer.initialize(this, ctx); parameters.setHeaders(request.getHeaders()); parameters.setQuery(request.getQueryStringDC()); final ServerFilterConfiguration configuration = httpServerFilter.getConfiguration(); parameters.setQueryStringEncoding(configuration.getDefaultQueryEncoding());
currentChild = new Parameters(); currentChild.child = new Parameters(); currentChild.setEncoding(encoding);
private ParameterMap getParameterMapInternal() { if (parameterMap.isLocked()) { return parameterMap; } for (final String name : mergedParameters.getParameterNames()) { final String[] values = mergedParameters.getParameterValues(name); parameterMap.put(name, values); } parameterMap.setLocked(true); return parameterMap; }
/** * Add a parameter name and corresponding set of values to this Request. * (This is used when restoring the original request on a form based * login). * * @param name Name of this request parameter * @param values Corresponding values for this request parameter */ @SuppressWarnings("unused") public void addParameter(String name, String values[]) { parameters.addParameterValues(name, values); }
@Override public String run() { return mergedParameters.getParameter( name ); } }