Package io.vertx.httpproxy
Interface ProxyRequest
-
public interface ProxyRequest
Handles the interoperability of the request between the user agent and the origin.- Author:
- Julien Viet
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description String
absoluteURI()
HostAndPort
getAuthority()
Body
getBody()
HttpMethod
getMethod()
String
getURI()
MultiMap
headers()
HttpServerRequest
proxiedRequest()
default Future<Void>
proxy(HttpClientRequest request)
Proxy this request to the origin server using the specifiedrequest
and then send the proxy response.ProxyRequest
putHeader(CharSequence name, CharSequence value)
Put an HTTP headerProxyRequest
release()
Release the proxy request and its associated resourcesProxyResponse
response()
Create and return the proxy response.static ProxyRequest
reverseProxy(HttpServerRequest proxiedRequest)
Create a newProxyRequest
instance, the proxied request will be paused.Future<ProxyResponse>
send(HttpClientRequest request)
Send this request to the origin server using the specifiedrequest
.ProxyRequest
setAuthority(HostAndPort authority)
Set the request authority for HTTP/1 the Host header for HTTP/2 the :authority pseudo header The value must follow the <host>:<port> syntax.ProxyRequest
setBody(Body body)
Set the request body to be sent to the origin server.ProxyRequest
setMethod(HttpMethod method)
Set the HTTP method to be sent to the origin server.ProxyRequest
setURI(String uri)
Set the request URI to be sent to the origin server.HttpVersion
version()
-
-
-
Method Detail
-
reverseProxy
static ProxyRequest reverseProxy(HttpServerRequest proxiedRequest)
Create a newProxyRequest
instance, the proxied request will be paused.- Parameters:
proxiedRequest
- theHttpServerRequest
that is proxied- Returns:
- a reference to this, so the API can be used fluently
-
version
HttpVersion version()
- Returns:
- the HTTP version of the proxied request
-
absoluteURI
String absoluteURI()
- Returns:
- the absolute URI of the proxied request
-
getMethod
HttpMethod getMethod()
- Returns:
- the HTTP method to be sent to the origin server.
-
setMethod
ProxyRequest setMethod(HttpMethod method)
Set the HTTP method to be sent to the origin server.The initial HTTP method value is the proxied request HTTP method.
- Parameters:
method
- the new HTTP method- Returns:
- a reference to this, so the API can be used fluently
-
getURI
String getURI()
- Returns:
- the request URI to be sent to the origin server.
-
setURI
ProxyRequest setURI(String uri)
Set the request URI to be sent to the origin server.The initial request URI value is the proxied request URI.
- Parameters:
uri
- the new URI- Returns:
- a reference to this, so the API can be used fluently
-
getBody
Body getBody()
- Returns:
- the request body to be sent to the origin server.
-
setBody
ProxyRequest setBody(Body body)
Set the request body to be sent to the origin server.The initial request body value is the proxied request body.
- Parameters:
body
- the new body- Returns:
- a reference to this, so the API can be used fluently
-
setAuthority
ProxyRequest setAuthority(HostAndPort authority)
Set the request authority- for HTTP/1 the Host header
- for HTTP/2 the :authority pseudo header
- Parameters:
authority
- the authority- Returns:
- a reference to this, so the API can be used fluently
-
getAuthority
HostAndPort getAuthority()
- Returns:
- the request authority, for HTTP2 the :authority pseudo header otherwise the Host header
-
headers
MultiMap headers()
- Returns:
- the headers that will be sent to the origin server, the returned headers can be modified. The headers map is populated with the proxied request headers
-
putHeader
ProxyRequest putHeader(CharSequence name, CharSequence value)
Put an HTTP header- Parameters:
name
- The header namevalue
- The header value- Returns:
- a reference to this, so the API can be used fluently
-
proxy
default Future<Void> proxy(HttpClientRequest request)
Proxy this request to the origin server using the specifiedrequest
and then send the proxy response.- Parameters:
request
- the request connected to the origin server
-
send
Future<ProxyResponse> send(HttpClientRequest request)
Send this request to the origin server using the specifiedrequest
.The returned future will be completed with the proxy response returned by the origin.
- Parameters:
request
- the request connected to the origin server
-
release
ProxyRequest release()
Release the proxy request and its associated resourcesThe HTTP server request is resumed, no HTTP server response is sent.
- Returns:
- a reference to this, so the API can be used fluently
-
proxiedRequest
HttpServerRequest proxiedRequest()
- Returns:
- the proxied HTTP server request
-
response
ProxyResponse response()
Create and return the proxy response.- Returns:
- the proxy response
-
-