Package org.eclipse.jetty.server
Class Response
java.lang.Object
org.eclipse.jetty.server.Response
- All Implemented Interfaces:
jakarta.servlet.http.HttpServletResponse
,jakarta.servlet.ServletResponse
Response
provides the implementation for HttpServletResponse
.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final String
If a header name starts with this string, the header (stripped of the prefix) can be set during include using onlysetHeader(String, String)
oraddHeader(String, String)
.static final int
Fields inherited from interface jakarta.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addCookie
(jakarta.servlet.http.Cookie cookie) void
addCookie
(HttpCookie cookie) void
addDateHeader
(String name, long date) void
void
addIntHeader
(String name, int value) void
void
Deprecated.void
completeOutput
(Callback callback) boolean
containsHeader
(String name) encodeRedirectUrl
(String url) Deprecated.encodeRedirectURL
(String url) Deprecated.void
void
int
Get the MetaData.Response committed for this response.long
long
getHeaders
(String name) long
jakarta.servlet.ServletOutputStream
int
void
include()
void
included()
boolean
isAllContentWritten
(long written) boolean
boolean
isContentComplete
(long written) boolean
boolean
boolean
boolean
protected MetaData.Response
static void
putHeaders
(jakarta.servlet.http.HttpServletResponse response, HttpContent content, long contentLength, boolean etag) void
putHeaders
(HttpContent content, long contentLength, boolean etag) protected void
recycle()
void
reopen()
void
replaceCookie
(HttpCookie cookie) Replace (or add) a cookie.void
reset()
void
void
void
void
Sends a 103 Early Hint response.void
sendError
(int sc) void
Send an error response.void
Sends a 102-Processing response.void
sendRedirect
(int code, String location) Sends a response with one of the 300 series redirection codes.void
sendRedirect
(int code, String location, boolean consumeAll) Sends a response with a given redirection code.void
sendRedirect
(String location) void
sendRedirect
(String location, boolean consumeAll) Sends a response with a HTTP version appropriate 30x redirection.void
setBufferSize
(int size) void
setCharacterEncoding
(String encoding) void
setContentLength
(int len) void
setContentLengthLong
(long length) void
setContentType
(String contentType) void
setDateHeader
(String name, long date) void
void
setHeader
(HttpHeader name, String value) void
setIntHeader
(String name, int value) void
void
setLongContentLength
(long len) void
setStatus
(int sc) void
Deprecated.void
setStatusWithReason
(int sc, String message) void
setTrailerFields
(Supplier<Map<String, String>> trailers) void
setTrailers
(Supplier<HttpFields> trailers) static String
toRedirectURI
(jakarta.servlet.http.HttpServletRequest request, String location) Common point to generate a proper "Location" header for redirects.toString()
static jakarta.servlet.http.HttpServletResponse
unwrap
(jakarta.servlet.ServletResponse servletResponse)
-
Field Details
-
NO_CONTENT_LENGTH
public static final int NO_CONTENT_LENGTH- See Also:
-
USE_KNOWN_CONTENT_LENGTH
public static final int USE_KNOWN_CONTENT_LENGTH- See Also:
-
SET_INCLUDE_HEADER_PREFIX
If a header name starts with this string, the header (stripped of the prefix) can be set during include using onlysetHeader(String, String)
oraddHeader(String, String)
.- See Also:
-
-
Constructor Details
-
Response
-
-
Method Details
-
getHttpChannel
-
recycle
protected void recycle() -
getHttpOutput
-
reopen
public void reopen() -
errorClose
public void errorClose() -
isIncluding
public boolean isIncluding() -
include
public void include() -
included
public void included() -
addCookie
-
addCookie
public void addCookie(jakarta.servlet.http.Cookie cookie) - Specified by:
addCookie
in interfacejakarta.servlet.http.HttpServletResponse
-
replaceCookie
Replace (or add) a cookie. Using name, path and domain, look for a matching set-cookie header and replace it.- Parameters:
cookie
- The cookie to add/replace
-
containsHeader
- Specified by:
containsHeader
in interfacejakarta.servlet.http.HttpServletResponse
-
encodeURL
- Specified by:
encodeURL
in interfacejakarta.servlet.http.HttpServletResponse
-
encodeRedirectURL
- Specified by:
encodeRedirectURL
in interfacejakarta.servlet.http.HttpServletResponse
-
encodeUrl
Deprecated.- Specified by:
encodeUrl
in interfacejakarta.servlet.http.HttpServletResponse
-
encodeRedirectUrl
Deprecated.- Specified by:
encodeRedirectUrl
in interfacejakarta.servlet.http.HttpServletResponse
-
sendError
- Specified by:
sendError
in interfacejakarta.servlet.http.HttpServletResponse
- Throws:
IOException
-
sendError
Send an error response.In addition to the servlet standard handling, this method supports some additional codes:
- 102
- Send a partial PROCESSING response and allow additional responses
- 103
- Send a partial EARLY_HINT response as per RFC8297
- -1
- Abort the HttpChannel and close the connection/stream
- Specified by:
sendError
in interfacejakarta.servlet.http.HttpServletResponse
- Parameters:
code
- The error codemessage
- The message- Throws:
IOException
- If an IO problem occurred sending the error response.
-
sendProcessing
Sends a 102-Processing response. If the request had an Expect header starting with 102, then a 102 response is sent. This indicates that the request still be processed and real response can still be sent. This method is called by sendError if it is passed 102.- Throws:
IOException
- if unable to send the 102 response- See Also:
-
HttpServletResponse.sendError(int)
-
sendEarlyHint
Sends a 103 Early Hint response. Send a 103 response as per RFC8297 This method is called by sendError if it is passed 103.- Throws:
IOException
- if unable to send the 103 response- See Also:
-
HttpServletResponse.sendError(int)
-
sendRedirect
Sends a response with one of the 300 series redirection codes.- Parameters:
code
- the redirect status codelocation
- the location to send inLocation
headers- Throws:
IOException
- if unable to send the redirect
-
sendRedirect
Sends a response with a HTTP version appropriate 30x redirection.- Parameters:
location
- the location to send inLocation
headersconsumeAll
- if True, consume any HTTP/1 request input before doing the redirection. If the input cannot be consumed without blocking, then add a `Connection: close` header to the response.- Throws:
IOException
- if unable to send the redirect
-
sendRedirect
Sends a response with a given redirection code.- Parameters:
code
- the redirect status codelocation
- the location to send inLocation
headersconsumeAll
- if True, consume any HTTP/1 request input before doing the redirection. If the input cannot be consumed without blocking, then add a `Connection: close` header to the response.- Throws:
IOException
- if unable to send the redirect
-
sendRedirect
- Specified by:
sendRedirect
in interfacejakarta.servlet.http.HttpServletResponse
- Throws:
IOException
-
toRedirectURI
public static String toRedirectURI(jakarta.servlet.http.HttpServletRequest request, String location) Common point to generate a proper "Location" header for redirects.- Parameters:
request
- the request the redirect should be based on (needed when relative locations are provided, so that server name, scheme, port can be built out properly)location
- the location as an absolute URI or an encoded relative path. A relative path starting with '/' is relative to the root, otherwise it is relative to the request path.- Returns:
- the full redirect "Location" URL (including scheme, host, port, path, etc...)
-
setDateHeader
- Specified by:
setDateHeader
in interfacejakarta.servlet.http.HttpServletResponse
-
addDateHeader
- Specified by:
addDateHeader
in interfacejakarta.servlet.http.HttpServletResponse
-
setHeader
-
setHeader
- Specified by:
setHeader
in interfacejakarta.servlet.http.HttpServletResponse
-
getHeaderNames
- Specified by:
getHeaderNames
in interfacejakarta.servlet.http.HttpServletResponse
-
getHeader
- Specified by:
getHeader
in interfacejakarta.servlet.http.HttpServletResponse
-
getHeaders
- Specified by:
getHeaders
in interfacejakarta.servlet.http.HttpServletResponse
-
addHeader
- Specified by:
addHeader
in interfacejakarta.servlet.http.HttpServletResponse
-
setIntHeader
- Specified by:
setIntHeader
in interfacejakarta.servlet.http.HttpServletResponse
-
addIntHeader
- Specified by:
addIntHeader
in interfacejakarta.servlet.http.HttpServletResponse
-
setStatus
public void setStatus(int sc) - Specified by:
setStatus
in interfacejakarta.servlet.http.HttpServletResponse
-
setStatus
Deprecated.- Specified by:
setStatus
in interfacejakarta.servlet.http.HttpServletResponse
-
setStatusWithReason
-
getCharacterEncoding
- Specified by:
getCharacterEncoding
in interfacejakarta.servlet.ServletResponse
-
getContentType
- Specified by:
getContentType
in interfacejakarta.servlet.ServletResponse
-
getOutputStream
- Specified by:
getOutputStream
in interfacejakarta.servlet.ServletResponse
- Throws:
IOException
-
isWriting
public boolean isWriting() -
isStreaming
public boolean isStreaming() -
isWritingOrStreaming
public boolean isWritingOrStreaming() -
getWriter
- Specified by:
getWriter
in interfacejakarta.servlet.ServletResponse
- Throws:
IOException
-
setContentLength
public void setContentLength(int len) - Specified by:
setContentLength
in interfacejakarta.servlet.ServletResponse
-
getContentLength
public long getContentLength() -
isAllContentWritten
public boolean isAllContentWritten(long written) -
isContentComplete
public boolean isContentComplete(long written) -
closeOutput
- Throws:
IOException
-
completeOutput
Deprecated.UsecloseOutput()
close the output- Throws:
IOException
-
completeOutput
-
getLongContentLength
public long getLongContentLength() -
setLongContentLength
public void setLongContentLength(long len) -
setContentLengthLong
public void setContentLengthLong(long length) - Specified by:
setContentLengthLong
in interfacejakarta.servlet.ServletResponse
-
setCharacterEncoding
- Specified by:
setCharacterEncoding
in interfacejakarta.servlet.ServletResponse
-
setContentType
- Specified by:
setContentType
in interfacejakarta.servlet.ServletResponse
-
setBufferSize
public void setBufferSize(int size) - Specified by:
setBufferSize
in interfacejakarta.servlet.ServletResponse
-
getBufferSize
public int getBufferSize()- Specified by:
getBufferSize
in interfacejakarta.servlet.ServletResponse
-
flushBuffer
- Specified by:
flushBuffer
in interfacejakarta.servlet.ServletResponse
- Throws:
IOException
-
reset
public void reset()- Specified by:
reset
in interfacejakarta.servlet.ServletResponse
-
resetContent
public void resetContent() -
resetForForward
public void resetForForward() -
resetBuffer
public void resetBuffer()- Specified by:
resetBuffer
in interfacejakarta.servlet.ServletResponse
-
getTrailers
-
setTrailers
-
getTrailerFields
- Specified by:
getTrailerFields
in interfacejakarta.servlet.http.HttpServletResponse
-
setTrailerFields
- Specified by:
setTrailerFields
in interfacejakarta.servlet.http.HttpServletResponse
-
newResponseMetaData
-
getCommittedMetaData
Get the MetaData.Response committed for this response. This may differ from the meta data in this response for exceptional responses (eg 4xx and 5xx responses generated by the container) and the committedMetaData should be used for logging purposes.- Returns:
- The committed MetaData or a
newResponseMetaData()
if not yet committed.
-
isCommitted
public boolean isCommitted()- Specified by:
isCommitted
in interfacejakarta.servlet.ServletResponse
-
setLocale
- Specified by:
setLocale
in interfacejakarta.servlet.ServletResponse
-
getLocale
- Specified by:
getLocale
in interfacejakarta.servlet.ServletResponse
-
getStatus
public int getStatus()- Specified by:
getStatus
in interfacejakarta.servlet.http.HttpServletResponse
-
getReason
-
getHttpFields
-
getContentCount
public long getContentCount() -
toString
-
putHeaders
-
putHeaders
public static void putHeaders(jakarta.servlet.http.HttpServletResponse response, HttpContent content, long contentLength, boolean etag) -
unwrap
public static jakarta.servlet.http.HttpServletResponse unwrap(jakarta.servlet.ServletResponse servletResponse)
-
closeOutput()