HttpRequest result = new HttpRequest(getContext(), httpCall); result.getAttributes().put(ATTRIBUTE_HEADERS, httpCall.getRequestHeaders()); result.getAttributes().put(ATTRIBUTE_VERSION, httpCall.getVersion()); result.getClientInfo().setCertificates(clientCertificates); result.getClientInfo().setCipherSuite(cipherSuite); result.getAttributes().put(ATTRIBUTE_HTTPS_KEY_SIZE, keySize); result.getAttributes().put(ATTRIBUTE_HTTPS_SSL_SESSION_ID, sslSessionId);
@Override public boolean abort() { return getHttpCall().abort(); }
@Override public List<Cookie> getCookies() { List<Cookie> cookies = new ArrayList<Cookie>(); for (org.restlet.data.Cookie cookie : getTarget().getCookies()) { cookies.add(new CookieAdapter(cookie)); } return cookies; }
/** * Returns the representation provided by the client. * * @return The representation provided by the client. */ @Override public Representation getEntity() { if (!this.entityAdded) { setEntity(((ServerCall) getHttpCall()).getRequestEntity()); this.entityAdded = true; } return super.getEntity(); }
@Override public ChallengeResponse getProxyChallengeResponse() { ChallengeResponse result = super.getProxyChallengeResponse(); if (!this.proxySecurityAdded) { // Extract the header value final String authorization = getHttpCall().getRequestHeaders() .getValues(HeaderConstants.HEADER_PROXY_AUTHORIZATION); // Set the challenge response result = AuthenticatorUtils.parseResponse(this, authorization, getHttpCall().getRequestHeaders()); setProxyChallengeResponse(result); this.proxySecurityAdded = true; } return result; }
@Override public ChallengeResponse getChallengeResponse() { ChallengeResponse result = super.getChallengeResponse(); if (!this.securityAdded) { // Extract the header value String authorization = getHttpCall().getRequestHeaders().getValues( HeaderConstants.HEADER_AUTHORIZATION); // Set the challenge response result = AuthenticatorUtils.parseResponse(this, authorization, getHttpCall().getRequestHeaders()); setChallengeResponse(result); this.securityAdded = true; } return result; }
setMethod(Method.valueOf(httpCall.getMethod())); sb.append(':').append(httpCall.getHostPort()); setHostRef(sb.toString()); setResourceRef(new Reference(getHostRef(), httpCall.getRequestUri())); if (getResourceRef().isRelative()) { setResourceRef(new Reference(getHostRef().toString() + "/" + httpCall.getRequestUri())); } else { setResourceRef(new Reference(getHostRef().toString() + httpCall.getRequestUri())); setOriginalRef(ReferenceUtils.getOriginalRef(getResourceRef(), httpCall.getRequestHeaders())); setDate(date);
/** * Returns the referrer reference if available. * * @return The referrer reference. */ @Override public Reference getReferrerRef() { if (!this.referrerAdded) { final String referrerValue = getHttpCall().getRequestHeaders() .getValues(HeaderConstants.HEADER_REFERRER); if (referrerValue != null) { setReferrerRef(new Reference(referrerValue)); } this.referrerAdded = true; } return super.getReferrerRef(); }
@Override public String getFromAddress() { return getTarget().getClientInfo().getAddress(); }
HttpRequest httpRequest = e.getIn().getHeader( RestletConstants.RESTLET_REQUEST, HttpRequest.class); Series<Header> headerList = (Series<Header>)httpRequest.getAttributes().get("org.restlet.http.headers"); Set<String> headerNames = headerList.getNames();
if (getTarget().getOriginalRef().hasQuery()) { params.putAll( getTarget().getOriginalRef().getQueryAsForm(true).getValuesMap() ); if (getTarget().getEntity() != null && getTarget().getEntity().isAvailable()) { if (MediaType.APPLICATION_WWW_FORM.equals(getTarget().getEntity().getMediaType(), true)) { params.putAll( new Form(getTarget().getEntity(), true).getValuesMap() ); } else if (MediaType.MULTIPART_FORM_DATA.equals(getTarget().getEntity().getMediaType(), true)) { throw new UnsupportedOperationException("Multipart file uploading not implemented");
@Override public InputStream getInputStream() throws IOException { // Milton doesn't check for null InputStream, but there are some places where it checks for -1 // Don't call target.isEntityAvailable(), doesn't work for PUT, see its source... if (getTarget().getEntity() != null && getTarget().getEntity().isAvailable()) { InputStream stream = getTarget().getEntity().getStream(); if (stream != null) return stream; } return new InputStream() { @Override public int read() throws IOException { return -1; } }; }
@Override public String getAbsoluteUrl() { return getTarget().getOriginalRef().toString(); }
@Override public Method getMethod() { return Method.valueOf(getTarget().getMethod().getName()); }
@Override public String getRemoteAddr() { return getTarget().getClientInfo().getAddress(); }
@Override public void flushBuffers() throws IOException { getHttpCall().flushBuffers(); }
@Override public Cookie getCookie(String name) { if (getTarget().getCookies().size() > 0) { for (org.restlet.data.Cookie cookie : getTarget().getCookies()) { if (cookie.getName().equals(name)) { return new CookieAdapter(cookie); } } } return null; }
protected Series<org.restlet.engine.header.Header> getRawHeaders() { return getTarget().getHttpCall().getRequestHeaders(); }
@Override public List<Range> getRanges() { final List<Range> result = super.getRanges(); if (!this.rangesAdded) { // Extract the header value final String ranges = getHttpCall().getRequestHeaders().getValues( HeaderConstants.HEADER_RANGE); result.addAll(RangeReader.read(ranges)); this.rangesAdded = true; } return result; }
@Override public List<CacheDirective> getCacheDirectives() { List<CacheDirective> result = super.getCacheDirectives(); if (!cacheDirectivesAdded) { for (Header header : getHttpCall().getRequestHeaders().subList( HeaderConstants.HEADER_CACHE_CONTROL)) { CacheDirectiveReader.addValues(header, result); } cacheDirectivesAdded = true; } return result; }