package org.etk.core.rest; import java.io.InputStream; import java.net.URI; import java.util.List; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Request; import javax.ws.rs.core.SecurityContext; public interface GenericContainerRequest extends Request, SecurityContext, ExtHttpHeaders { /** * Get read-only list of cookie header. * * @return cookie as it get in request */ List<String> getCookieHeaders(); /** * Select the first media type, from a given list of media types, that is most * acceptable according to the requested acceptable media types. * * @param mediaTypes the list of media types * @return the most acceptable media type, or null if no media type was found * to be acceptable */ MediaType getAcceptableMediaType(List<MediaType> mediaTypes); /** * Get entity body represented by InputStream. * * @return entity data stream or null if no entity in request */ InputStream getEntityStream(); /** * @return full request URI include query string and fragment */ URI getRequestUri(); /** * @return common part of URI string for all services, e. g. servlet path */ URI getBaseUri(); /** * Set HTTP method. * * @param method HTTP method, i. e. GET, POST, etc */ void setMethod(String method); /** * Set entity body InputStream. * * @param entityStream request message body as stream */ void setEntityStream(InputStream entityStream); /** * Set new request URI and base URI. * * @param requestUri request URI * @param baseUri base URI */ void setUris(URI requestUri, URI baseUri); /** * Set list of cookie headers. * * @param cookieHeaders list of cookies as sources string */ void setCookieHeaders(List<String> cookieHeaders); /** * Set HTTP request headers. * * @param httpHeaders read-only case insensitive {@link MultivaluedMap} */ void setRequestHeaders(MultivaluedMap<String, String> httpHeaders); }