org.kohsuke.stapler
Interface StaplerResponse

All Superinterfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse
All Known Implementing Classes:
ResponseImpl

public interface StaplerResponse
extends javax.servlet.http.HttpServletResponse

Defines additional operations made available by Stapler.

Author:
Kohsuke Kawaguchi
See Also:
Stapler.getCurrentResponse()

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
 
Method Summary
 void forward(java.lang.Object it, java.lang.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.)
 java.io.OutputStream getCompressedOutputStream(javax.servlet.http.HttpServletRequest req)
          Works like ServletResponse.getOutputStream() but tries to send the response with gzip compression if the client supports it.
 java.io.Writer getCompressedWriter(javax.servlet.http.HttpServletRequest req)
          Works like getCompressedOutputStream(HttpServletRequest) but this method is for ServletResponse.getWriter().
 int reverseProxyTo(java.net.URL url, StaplerRequest req)
          Performs the reverse proxy to the given URL.
 void sendRedirect2(java.lang.String url)
          Works like HttpServletResponse.sendRedirect(String) except that this method escapes the URL.
 void serveExposedBean(StaplerRequest req, java.lang.Object exposedBean, Flavor flavor)
          Serves the exposed bean in the specified flavor.
 void serveFile(StaplerRequest req, java.io.InputStream data, long lastModified, int contentLength, java.lang.String fileName)
           
 void serveFile(StaplerRequest req, java.io.InputStream data, long lastModified, long expiration, int contentLength, java.lang.String fileName)
           
 void serveFile(StaplerRequest req, java.io.InputStream data, long lastModified, long expiration, long contentLength, java.lang.String fileName)
          Serves a static resource.
 void serveFile(StaplerRequest req, java.io.InputStream data, long lastModified, long contentLength, java.lang.String fileName)
          Serves a static resource.
 void serveFile(StaplerRequest request, java.net.URL res)
          Serves a static resource.
 void serveFile(StaplerRequest request, java.net.URL res, long expiration)
           
 void serveLocalizedFile(StaplerRequest request, java.net.URL res)
          Works like serveFile(StaplerRequest, URL) but chooses the locale specific version of the resource if it's available.
 void serveLocalizedFile(StaplerRequest request, java.net.URL res, long expiration)
          Works like serveFile(StaplerRequest, URL, long) but chooses the locale specific version of the resource if it's available.
 
Methods inherited from interface javax.servlet.http.HttpServletResponse
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
 

Method Detail

forward

void forward(java.lang.Object it,
             java.lang.String url,
             StaplerRequest request)
             throws javax.servlet.ServletException,
                    java.io.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.

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
java.io.IOException

forwardToPreviousPage

void forwardToPreviousPage(StaplerRequest request)
                           throws javax.servlet.ServletException,
                                  java.io.IOException
Redirects the browser to where it came from (the referer.)

Throws:
javax.servlet.ServletException
java.io.IOException

sendRedirect2

void sendRedirect2(java.lang.String url)
                   throws java.io.IOException
Works like HttpServletResponse.sendRedirect(String) except that this method escapes the URL.

Throws:
java.io.IOException

serveFile

void serveFile(StaplerRequest request,
               java.net.URL res)
               throws javax.servlet.ServletException,
                      java.io.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.

Throws:
javax.servlet.ServletException
java.io.IOException

serveFile

void serveFile(StaplerRequest request,
               java.net.URL res,
               long expiration)
               throws javax.servlet.ServletException,
                      java.io.IOException
Throws:
javax.servlet.ServletException
java.io.IOException

serveLocalizedFile

void serveLocalizedFile(StaplerRequest request,
                        java.net.URL res)
                        throws javax.servlet.ServletException,
                               java.io.IOException
Works like 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 for foo.html would be named foo_ja.html.

Throws:
javax.servlet.ServletException
java.io.IOException

serveLocalizedFile

void serveLocalizedFile(StaplerRequest request,
                        java.net.URL res,
                        long expiration)
                        throws javax.servlet.ServletException,
                               java.io.IOException
Works like serveFile(StaplerRequest, URL, long) but chooses the locale specific version of the resource if it's available. See serveLocalizedFile(StaplerRequest, URL) for more details.

Throws:
javax.servlet.ServletException
java.io.IOException

serveFile

void serveFile(StaplerRequest req,
               java.io.InputStream data,
               long lastModified,
               long expiration,
               long contentLength,
               java.lang.String fileName)
               throws javax.servlet.ServletException,
                      java.io.IOException
Serves a static resource.

This method works like serveFile(StaplerRequest, URL) but this version allows the caller to fetch data from anywhere.

Parameters:
data - InputStream that contains the data of the static resource.
lastModified - The timestamp when the resource was last modified. See URLConnection.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
java.io.IOException

serveFile

void serveFile(StaplerRequest req,
               java.io.InputStream data,
               long lastModified,
               long expiration,
               int contentLength,
               java.lang.String fileName)
               throws javax.servlet.ServletException,
                      java.io.IOException
Throws:
javax.servlet.ServletException
java.io.IOException

serveFile

void serveFile(StaplerRequest req,
               java.io.InputStream data,
               long lastModified,
               long contentLength,
               java.lang.String fileName)
               throws javax.servlet.ServletException,
                      java.io.IOException
Serves a static resource. Expiration date is set to the value that forces browser to do conditional GET for all resources.

Throws:
javax.servlet.ServletException
java.io.IOException
See Also:
serveFile(StaplerRequest, InputStream, long, long, int, String)

serveFile

void serveFile(StaplerRequest req,
               java.io.InputStream data,
               long lastModified,
               int contentLength,
               java.lang.String fileName)
               throws javax.servlet.ServletException,
                      java.io.IOException
Throws:
javax.servlet.ServletException
java.io.IOException

serveExposedBean

void serveExposedBean(StaplerRequest req,
                      java.lang.Object exposedBean,
                      Flavor flavor)
                      throws javax.servlet.ServletException,
                             java.io.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 in Model.writeTo(Object,int,DataWriter).

As of 1.146, the tree parameter may be used to control the output in detail; see NamedPathPruner.NamedPathPruner(String) for details.

Throws:
javax.servlet.ServletException
java.io.IOException

getCompressedOutputStream

java.io.OutputStream getCompressedOutputStream(javax.servlet.http.HttpServletRequest req)
                                               throws java.io.IOException
Works like ServletResponse.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.

Parameters:
req - Used to determine whether the client supports compression
Throws:
java.io.IOException

getCompressedWriter

java.io.Writer getCompressedWriter(javax.servlet.http.HttpServletRequest req)
                                   throws java.io.IOException
Works like getCompressedOutputStream(HttpServletRequest) but this method is for ServletResponse.getWriter().

Throws:
java.io.IOException

reverseProxyTo

int reverseProxyTo(java.net.URL url,
                   StaplerRequest req)
                   throws java.io.IOException
Performs the reverse proxy to the given URL.

Returns:
The status code of the response.
Throws:
java.io.IOException


Copyright © 2011. All Rights Reserved.