Class StaplerResponseWrapper
- java.lang.Object
-
- org.kohsuke.stapler.StaplerResponseWrapper
-
- All Implemented Interfaces:
javax.servlet.http.HttpServletResponse
,javax.servlet.ServletResponse
,StaplerResponse
public abstract class StaplerResponseWrapper extends Object implements StaplerResponse
A basic wrapper for a StaplerResponse, e.g. in order to override some method. This simply delegates all method calls to the wrapped instance.- Since:
- TODO
-
-
Field Summary
-
Fields inherited from interface javax.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
Constructors Constructor Description StaplerResponseWrapper(StaplerResponse wrapped)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addCookie(javax.servlet.http.Cookie cookie)
void
addDateHeader(String name, long date)
void
addHeader(String name, String value)
void
addIntHeader(String name, int value)
boolean
containsHeader(String name)
String
encodeRedirectUrl(String url)
String
encodeRedirectURL(String url)
String
encodeUrl(String url)
String
encodeURL(String url)
void
flushBuffer()
void
forward(Object it, String url, StaplerRequest request)
Evaluates the url against the given object and forwards the request to the result.void
forwardToPreviousPage(StaplerRequest request)
Redirects the browser to where it came from (the referer.)int
getBufferSize()
String
getCharacterEncoding()
OutputStream
getCompressedOutputStream(javax.servlet.http.HttpServletRequest req)
Works likeServletResponse.getOutputStream()
but tries to send the response with gzip compression if the client supports it.Writer
getCompressedWriter(javax.servlet.http.HttpServletRequest req)
Works likeStaplerResponse.getCompressedOutputStream(HttpServletRequest)
but this method is forServletResponse.getWriter()
.String
getContentType()
String
getHeader(String name)
Collection<String>
getHeaderNames()
Collection<String>
getHeaders(String name)
net.sf.json.JsonConfig
getJsonConfig()
The JsonConfig to be used when serializing java beans to JSON previously set byStaplerResponse.setJsonConfig(JsonConfig)
.Locale
getLocale()
javax.servlet.ServletOutputStream
getOutputStream()
int
getStatus()
StaplerResponse
getWrapped()
Returns the wrapped instancePrintWriter
getWriter()
boolean
isCommitted()
void
reset()
void
resetBuffer()
int
reverseProxyTo(URL url, StaplerRequest req)
Performs the reverse proxy to the given URL.void
sendError(int sc)
void
sendError(int sc, String msg)
void
sendRedirect(int statusCode, String url)
Works likeStaplerResponse.sendRedirect2(String)
but allows the caller to specify the HTTP status code.void
sendRedirect(String url)
void
sendRedirect2(String url)
Works likeHttpServletResponse.sendRedirect(String)
except that this method escapes the URL.void
serveExposedBean(StaplerRequest req, Object exposedBean, ExportConfig exportConfig)
Serves the exposed bean in the specified flavor.void
serveExposedBean(StaplerRequest req, Object exposedBean, Flavor flavor)
Deprecated.void
serveFile(StaplerRequest req, InputStream data, long lastModified, int contentLength, String fileName)
void
serveFile(StaplerRequest req, InputStream data, long lastModified, long expiration, int contentLength, String fileName)
void
serveFile(StaplerRequest req, InputStream data, long lastModified, long expiration, long contentLength, String fileName)
Serves a static resource.void
serveFile(StaplerRequest req, InputStream data, long lastModified, long contentLength, String fileName)
Serves a static resource.void
serveFile(StaplerRequest req, URL resource)
Serves a static resource.void
serveFile(StaplerRequest req, URL resource, long expiration)
void
serveLocalizedFile(StaplerRequest request, URL res)
Works likeStaplerResponse.serveFile(StaplerRequest, URL)
but chooses the locale specific version of the resource if it's available.void
serveLocalizedFile(StaplerRequest request, URL res, long expiration)
Works likeStaplerResponse.serveFile(StaplerRequest, URL, long)
but chooses the locale specific version of the resource if it's available.void
setBufferSize(int size)
void
setCharacterEncoding(String charset)
void
setContentLength(int len)
void
setContentLengthLong(long len)
void
setContentType(String type)
void
setDateHeader(String name, long date)
void
setHeader(String name, String value)
void
setIntHeader(String name, int value)
void
setJsonConfig(net.sf.json.JsonConfig config)
The JsonConfig to be used when serializing java beans from js bound methods to JSON.void
setLocale(Locale loc)
void
setStatus(int sc)
void
setStatus(int sc, String sm)
-
-
-
Constructor Detail
-
StaplerResponseWrapper
public StaplerResponseWrapper(StaplerResponse wrapped)
-
-
Method Detail
-
getWrapped
@NonNull public StaplerResponse getWrapped()
Returns the wrapped instance
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream() throws IOException
- Specified by:
getOutputStream
in interfacejavax.servlet.ServletResponse
- Throws:
IOException
-
getWriter
public PrintWriter getWriter() throws IOException
- Specified by:
getWriter
in interfacejavax.servlet.ServletResponse
- Throws:
IOException
-
forward
public void forward(Object it, String url, StaplerRequest request) throws javax.servlet.ServletException, IOException
Evaluates the url against the given object and forwards the request to the result.This can be used for example inside an action method to forward a request to a JSP.
- Specified by:
forward
in interfaceStaplerResponse
- Parameters:
it
- the URL is evaluated against this object. Must not be null.url
- the relative URL (e.g., "foo" or "foo/bar") to resolve against the "it" object.request
- Request to be forwarded.- Throws:
javax.servlet.ServletException
IOException
-
forwardToPreviousPage
public void forwardToPreviousPage(StaplerRequest request) throws javax.servlet.ServletException, IOException
Redirects the browser to where it came from (the referer.)- Specified by:
forwardToPreviousPage
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
sendRedirect
public void sendRedirect(String url) throws IOException
- Specified by:
sendRedirect
in interfacejavax.servlet.http.HttpServletResponse
- Throws:
IOException
-
sendRedirect2
public void sendRedirect2(String url) throws IOException
Works likeHttpServletResponse.sendRedirect(String)
except that this method escapes the URL.- Specified by:
sendRedirect2
in interfaceStaplerResponse
- Throws:
IOException
-
sendRedirect
public void sendRedirect(int statusCode, String url) throws IOException
Works likeStaplerResponse.sendRedirect2(String)
but allows the caller to specify the HTTP status code.- Specified by:
sendRedirect
in interfaceStaplerResponse
- Throws:
IOException
-
serveFile
public void serveFile(StaplerRequest req, URL resource, long expiration) throws javax.servlet.ServletException, IOException
- Specified by:
serveFile
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
serveFile
public void serveFile(StaplerRequest req, URL resource) throws javax.servlet.ServletException, IOException
Serves a static resource.This method sets content type, HTTP status code, sends the complete data and closes the response. This method also handles cache-control HTTP headers like "If-Modified-Since" and others.
- Specified by:
serveFile
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
serveLocalizedFile
public void serveLocalizedFile(StaplerRequest request, URL res) throws javax.servlet.ServletException, IOException
Works likeStaplerResponse.serveFile(StaplerRequest, URL)
but chooses the locale specific version of the resource if it's available. The convention of "locale specific version" is the same as that of property files. So Japanese resource forfoo.html
would be namedfoo_ja.html
.- Specified by:
serveLocalizedFile
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
serveLocalizedFile
public void serveLocalizedFile(StaplerRequest request, URL res, long expiration) throws javax.servlet.ServletException, IOException
Works likeStaplerResponse.serveFile(StaplerRequest, URL, long)
but chooses the locale specific version of the resource if it's available. SeeStaplerResponse.serveLocalizedFile(StaplerRequest, URL)
for more details.- Specified by:
serveLocalizedFile
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
serveFile
public void serveFile(StaplerRequest req, InputStream data, long lastModified, long expiration, long contentLength, String fileName) throws javax.servlet.ServletException, IOException
Serves a static resource.This method works like
StaplerResponse.serveFile(StaplerRequest, URL)
but this version allows the caller to fetch data from anywhere.- Specified by:
serveFile
in interfaceStaplerResponse
data
-InputStream
that contains the data of the static resource.lastModified
- The timestamp when the resource was last modified. SeeURLConnection.getLastModified()
for the meaning of the value. 0 if unknown, in which case "If-Modified-Since" handling will not be performed.expiration
- The number of milliseconds until the resource will "expire". Until it expires the browser will be allowed to cache it and serve it without checking back with the server. After it expires, the client will send conditional GET to check if the resource is actually modified or not. If 0, it will immediately expire.contentLength
- if the length of the input stream is known in advance, specify that value so that HTTP keep-alive works. Otherwise specify -1 to indicate that the length is unknown.fileName
- file name of this resource. Used to determine the MIME type. Since the only important portion is the file extension, this could be just a file name, or a full path name, or even a pseudo file name that doesn't actually exist. It supports both '/' and '\\' as the path separator. If this string starts with "mime-type:", like "mime-type:foo/bar", then "foo/bar" will be used as a MIME type without consulting the servlet container.- Throws:
javax.servlet.ServletException
IOException
-
serveFile
public void serveFile(StaplerRequest req, InputStream data, long lastModified, long expiration, int contentLength, String fileName) throws javax.servlet.ServletException, IOException
- Specified by:
serveFile
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
serveFile
public void serveFile(StaplerRequest req, InputStream data, long lastModified, long contentLength, String fileName) throws javax.servlet.ServletException, IOException
Serves a static resource. Expiration date is set to the value that forces browser to do conditional GET for all resources.- Specified by:
serveFile
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
- See Also:
StaplerResponse.serveFile(StaplerRequest, InputStream, long, long, int, String)
-
serveFile
public void serveFile(StaplerRequest req, InputStream data, long lastModified, int contentLength, String fileName) throws javax.servlet.ServletException, IOException
- Specified by:
serveFile
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
serveExposedBean
@Deprecated public void serveExposedBean(StaplerRequest req, Object exposedBean, Flavor flavor) throws javax.servlet.ServletException, IOException
Deprecated.Serves the exposed bean in the specified flavor.This method performs the complete output from the header to the response body. If the flavor is JSON, this method also supports JSONP via the
jsonp
query parameter.The
depth
parameter may be used to specify a recursion depth as inModel.writeTo(Object,int,DataWriter)
.As of 1.146, the
tree
parameter may be used to control the output in detail; seeNamedPathPruner(String)
for details.- Specified by:
serveExposedBean
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
serveExposedBean
public void serveExposedBean(StaplerRequest req, Object exposedBean, ExportConfig exportConfig) throws javax.servlet.ServletException, IOException
Serves the exposed bean in the specified flavor.This method performs the complete output from the header to the response body. If the flavor is JSON, this method also supports JSONP via the
jsonp
query parameter.The
depth
parameter may be used to specify a recursion depth as inModel.writeTo(Object,int,DataWriter)
As of 1.146, the
tree
parameter may be used to control the output in detail; seeNamedPathPruner(String)
for details.ExportConfig
is passed by the caller to control serialization behavior- Specified by:
serveExposedBean
in interfaceStaplerResponse
- Throws:
javax.servlet.ServletException
IOException
-
getCompressedOutputStream
public OutputStream getCompressedOutputStream(javax.servlet.http.HttpServletRequest req) throws IOException
Works likeServletResponse.getOutputStream()
but tries to send the response with gzip compression if the client supports it.This method is useful for sending out a large text content.
- Specified by:
getCompressedOutputStream
in interfaceStaplerResponse
- Parameters:
req
- Used to determine whether the client supports compression- Throws:
IOException
-
getCompressedWriter
public Writer getCompressedWriter(javax.servlet.http.HttpServletRequest req) throws IOException
Works likeStaplerResponse.getCompressedOutputStream(HttpServletRequest)
but this method is forServletResponse.getWriter()
.- Specified by:
getCompressedWriter
in interfaceStaplerResponse
- Throws:
IOException
-
reverseProxyTo
public int reverseProxyTo(URL url, StaplerRequest req) throws IOException
Performs the reverse proxy to the given URL.- Specified by:
reverseProxyTo
in interfaceStaplerResponse
- Returns:
- The status code of the response.
- Throws:
IOException
-
setJsonConfig
public void setJsonConfig(net.sf.json.JsonConfig config)
The JsonConfig to be used when serializing java beans from js bound methods to JSON. Setting this to null will make the default config to be used.- Specified by:
setJsonConfig
in interfaceStaplerResponse
- Parameters:
config
- the config
-
getJsonConfig
public net.sf.json.JsonConfig getJsonConfig()
The JsonConfig to be used when serializing java beans to JSON previously set byStaplerResponse.setJsonConfig(JsonConfig)
. Will return the default config if nothing has previously been set.- Specified by:
getJsonConfig
in interfaceStaplerResponse
- Returns:
- the config
-
addCookie
public void addCookie(javax.servlet.http.Cookie cookie)
- Specified by:
addCookie
in interfacejavax.servlet.http.HttpServletResponse
-
addDateHeader
public void addDateHeader(String name, long date)
- Specified by:
addDateHeader
in interfacejavax.servlet.http.HttpServletResponse
-
addHeader
public void addHeader(String name, String value)
- Specified by:
addHeader
in interfacejavax.servlet.http.HttpServletResponse
-
addIntHeader
public void addIntHeader(String name, int value)
- Specified by:
addIntHeader
in interfacejavax.servlet.http.HttpServletResponse
-
containsHeader
public boolean containsHeader(String name)
- Specified by:
containsHeader
in interfacejavax.servlet.http.HttpServletResponse
-
encodeRedirectURL
public String encodeRedirectURL(String url)
- Specified by:
encodeRedirectURL
in interfacejavax.servlet.http.HttpServletResponse
-
encodeRedirectUrl
public String encodeRedirectUrl(String url)
- Specified by:
encodeRedirectUrl
in interfacejavax.servlet.http.HttpServletResponse
-
encodeURL
public String encodeURL(String url)
- Specified by:
encodeURL
in interfacejavax.servlet.http.HttpServletResponse
-
encodeUrl
public String encodeUrl(String url)
- Specified by:
encodeUrl
in interfacejavax.servlet.http.HttpServletResponse
-
sendError
public void sendError(int sc) throws IOException
- Specified by:
sendError
in interfacejavax.servlet.http.HttpServletResponse
- Throws:
IOException
-
sendError
public void sendError(int sc, String msg) throws IOException
- Specified by:
sendError
in interfacejavax.servlet.http.HttpServletResponse
- Throws:
IOException
-
setDateHeader
public void setDateHeader(String name, long date)
- Specified by:
setDateHeader
in interfacejavax.servlet.http.HttpServletResponse
-
setHeader
public void setHeader(String name, String value)
- Specified by:
setHeader
in interfacejavax.servlet.http.HttpServletResponse
-
setIntHeader
public void setIntHeader(String name, int value)
- Specified by:
setIntHeader
in interfacejavax.servlet.http.HttpServletResponse
-
setStatus
public void setStatus(int sc)
- Specified by:
setStatus
in interfacejavax.servlet.http.HttpServletResponse
-
setStatus
public void setStatus(int sc, String sm)
- Specified by:
setStatus
in interfacejavax.servlet.http.HttpServletResponse
-
flushBuffer
public void flushBuffer() throws IOException
- Specified by:
flushBuffer
in interfacejavax.servlet.ServletResponse
- Throws:
IOException
-
getBufferSize
public int getBufferSize()
- Specified by:
getBufferSize
in interfacejavax.servlet.ServletResponse
-
getCharacterEncoding
public String getCharacterEncoding()
- Specified by:
getCharacterEncoding
in interfacejavax.servlet.ServletResponse
-
getLocale
public Locale getLocale()
- Specified by:
getLocale
in interfacejavax.servlet.ServletResponse
-
isCommitted
public boolean isCommitted()
- Specified by:
isCommitted
in interfacejavax.servlet.ServletResponse
-
reset
public void reset()
- Specified by:
reset
in interfacejavax.servlet.ServletResponse
-
resetBuffer
public void resetBuffer()
- Specified by:
resetBuffer
in interfacejavax.servlet.ServletResponse
-
setBufferSize
public void setBufferSize(int size)
- Specified by:
setBufferSize
in interfacejavax.servlet.ServletResponse
-
setContentLength
public void setContentLength(int len)
- Specified by:
setContentLength
in interfacejavax.servlet.ServletResponse
-
setContentType
public void setContentType(String type)
- Specified by:
setContentType
in interfacejavax.servlet.ServletResponse
-
setLocale
public void setLocale(Locale loc)
- Specified by:
setLocale
in interfacejavax.servlet.ServletResponse
-
getStatus
public int getStatus()
- Specified by:
getStatus
in interfacejavax.servlet.http.HttpServletResponse
-
getHeader
public String getHeader(String name)
- Specified by:
getHeader
in interfacejavax.servlet.http.HttpServletResponse
-
getHeaders
public Collection<String> getHeaders(String name)
- Specified by:
getHeaders
in interfacejavax.servlet.http.HttpServletResponse
-
getHeaderNames
public Collection<String> getHeaderNames()
- Specified by:
getHeaderNames
in interfacejavax.servlet.http.HttpServletResponse
-
getContentType
public String getContentType()
- Specified by:
getContentType
in interfacejavax.servlet.ServletResponse
-
setCharacterEncoding
public void setCharacterEncoding(String charset)
- Specified by:
setCharacterEncoding
in interfacejavax.servlet.ServletResponse
-
setContentLengthLong
public void setContentLengthLong(long len)
- Specified by:
setContentLengthLong
in interfacejavax.servlet.ServletResponse
-
-