- java.lang.Object
-
- org.refcodes.web.AbstractHttpRequest
-
- org.refcodes.web.HttpServerRequest
-
- All Implemented Interfaces:
HeaderFieldsAccessor<RequestHeaderFields>,HttpBodyAccessor,HttpInputStreamAccessor,HttpMethodAccessor,HttpRequest,UrlAccessor
public class HttpServerRequest extends AbstractHttpRequest implements HttpRequest, HttpBodyAccessor, HttpInputStreamAccessor
Defines aHttpServerRequestbeing the request as consumed by the server.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.web.HeaderFieldsAccessor
HeaderFieldsAccessor.HeaderFieldsBuilder<T extends HeaderFields<?,?>,B extends HeaderFieldsAccessor.HeaderFieldsBuilder<T,B>>, HeaderFieldsAccessor.HeaderFieldsMutator<T extends HeaderFields<?,?>>, HeaderFieldsAccessor.HeaderFieldsProperty<T extends HeaderFields<?,?>>
-
Nested classes/interfaces inherited from interface org.refcodes.web.HttpBodyAccessor
HttpBodyAccessor.HttpBodyBuilder<B extends HttpBodyAccessor.HttpBodyBuilder<B>>, HttpBodyAccessor.HttpBodyMutator, HttpBodyAccessor.HttpBodyProperty, HttpBodyAccessor.HttpBodyProvider<EXC extends Exception>
-
Nested classes/interfaces inherited from interface org.refcodes.web.HttpInputStreamAccessor
HttpInputStreamAccessor.HttpInputStreamBuilder<B extends HttpInputStreamAccessor.HttpInputStreamBuilder<B>>, HttpInputStreamAccessor.HttpInputStreamMutator, HttpInputStreamAccessor.HttpInputStreamProperty, HttpInputStreamAccessor.HttpInputStreamProvider<EXC extends Exception>
-
Nested classes/interfaces inherited from interface org.refcodes.web.HttpMethodAccessor
HttpMethodAccessor.HttpMethodBuilder<B extends HttpMethodAccessor.HttpMethodBuilder<B>>, HttpMethodAccessor.HttpMethodMutator, HttpMethodAccessor.HttpMethodProperty
-
Nested classes/interfaces inherited from interface org.refcodes.web.UrlAccessor
UrlAccessor.UrlBuilder, UrlAccessor.UrlMutator, UrlAccessor.UrlProperty
-
-
Field Summary
Fields Modifier and Type Field Description protected MediaTypeFactoryLookup_mediaTypeFactoryLookup-
Fields inherited from class org.refcodes.web.AbstractHttpRequest
_headerFields, _httpMethod, _url
-
-
Constructor Summary
Constructors Constructor Description HttpServerRequest(HttpMethod aHttpMethod, Url aUrl, RequestHeaderFields aHeaderFields, InputStream aHttpInputStream, MediaTypeFactoryLookup aMediaTypeFactoryLookup)Constructs aHttpServerRequestwith all required attributes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetHttpBody()Retrieves the HTTP body from the HTTP body property.InputStreamgetHttpInputStream()Retrieves theInputStreamfrom the HTTPInputStreamproperty.HttpBodyMapgetRequest()Retrieves theHttpBodyMaprepresenting the request body.<REQ> REQgetRequest(Class<REQ> aRequestType)This method's implementation supports theHttpBodyMapto unmarshal an HTTP Request-Body into anHttpBodyMapwhen providing theHttpBodyMapas request type.StringtoString()-
Methods inherited from class org.refcodes.web.AbstractHttpRequest
getHeaderFields, getHttpMethod, getUrl
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.refcodes.web.HeaderFieldsAccessor
getHeaderFields
-
Methods inherited from interface org.refcodes.web.HttpMethodAccessor
getHttpMethod
-
Methods inherited from interface org.refcodes.web.UrlAccessor
getUrl
-
-
-
-
Field Detail
-
_mediaTypeFactoryLookup
protected MediaTypeFactoryLookup _mediaTypeFactoryLookup
-
-
Constructor Detail
-
HttpServerRequest
public HttpServerRequest(HttpMethod aHttpMethod, Url aUrl, RequestHeaderFields aHeaderFields, InputStream aHttpInputStream, MediaTypeFactoryLookup aMediaTypeFactoryLookup)
Constructs aHttpServerRequestwith all required attributes.- Parameters:
aHttpMethod- TheHttpMethodwith which the request has been sent.aUrl- TheUrlfrom which to take the URL specific data.aHeaderFields- TheRequestHeaderFieldssent by the request.aHttpInputStream- TheInputStreamrepresenting the request's HTTP body.aMediaTypeFactoryLookup- The lookup factory for retrieving the requiredMediaTypefactories.
-
-
Method Detail
-
getRequest
public HttpBodyMap getRequest() throws BadRequestException
Retrieves theHttpBodyMaprepresenting the request body.- Returns:
- An instance of the
HttpBodyMaprepresenting the request. - Throws:
BadRequestException- thrown when unmarshaling / deserializing an object fails.
-
getRequest
public <REQ> REQ getRequest(Class<REQ> aRequestType) throws BadRequestException
This method's implementation supports theHttpBodyMapto unmarshal an HTTP Request-Body into anHttpBodyMapwhen providing theHttpBodyMapas request type.- Type Parameters:
REQ- the generic type- Parameters:
aRequestType- the request type- Returns:
- the request
- Throws:
BadRequestException- the bad request exception
-
getHttpInputStream
public InputStream getHttpInputStream()
Retrieves theInputStreamfrom the HTTPInputStreamproperty.- Specified by:
getHttpInputStreamin interfaceHttpInputStreamAccessor- Returns:
- The
InputStreamstored by theInputStreamproperty.
-
getHttpBody
public String getHttpBody()
Retrieves the HTTP body from the HTTP body property.- Specified by:
getHttpBodyin interfaceHttpBodyAccessor- Returns:
- The HTTP body stored by the HTTP body property.
-
-