Class 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
    • 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 interface javax.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 interface StaplerResponse
        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
      • sendRedirect

        public void sendRedirect​(String url)
                          throws IOException
        Specified by:
        sendRedirect in interface javax.servlet.http.HttpServletResponse
        Throws:
        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 interface StaplerResponse
        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 interface StaplerResponse
        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
        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 in Model.writeTo(Object,int,DataWriter)

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

        ExportConfig is passed by the caller to control serialization behavior

        Specified by:
        serveExposedBean in interface StaplerResponse
        Throws:
        javax.servlet.ServletException
        IOException
      • getCompressedOutputStream

        public OutputStream getCompressedOutputStream​(javax.servlet.http.HttpServletRequest req)
                                               throws 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.

        Specified by:
        getCompressedOutputStream in interface StaplerResponse
        Parameters:
        req - Used to determine whether the client supports compression
        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 interface StaplerResponse
        Parameters:
        config - the config
      • addCookie

        public void addCookie​(javax.servlet.http.Cookie cookie)
        Specified by:
        addCookie in interface javax.servlet.http.HttpServletResponse
      • addDateHeader

        public void addDateHeader​(String name,
                                  long date)
        Specified by:
        addDateHeader in interface javax.servlet.http.HttpServletResponse
      • addHeader

        public void addHeader​(String name,
                              String value)
        Specified by:
        addHeader in interface javax.servlet.http.HttpServletResponse
      • addIntHeader

        public void addIntHeader​(String name,
                                 int value)
        Specified by:
        addIntHeader in interface javax.servlet.http.HttpServletResponse
      • containsHeader

        public boolean containsHeader​(String name)
        Specified by:
        containsHeader in interface javax.servlet.http.HttpServletResponse
      • encodeRedirectURL

        public String encodeRedirectURL​(String url)
        Specified by:
        encodeRedirectURL in interface javax.servlet.http.HttpServletResponse
      • encodeRedirectUrl

        public String encodeRedirectUrl​(String url)
        Specified by:
        encodeRedirectUrl in interface javax.servlet.http.HttpServletResponse
      • encodeURL

        public String encodeURL​(String url)
        Specified by:
        encodeURL in interface javax.servlet.http.HttpServletResponse
      • encodeUrl

        public String encodeUrl​(String url)
        Specified by:
        encodeUrl in interface javax.servlet.http.HttpServletResponse
      • sendError

        public void sendError​(int sc)
                       throws IOException
        Specified by:
        sendError in interface javax.servlet.http.HttpServletResponse
        Throws:
        IOException
      • sendError

        public void sendError​(int sc,
                              String msg)
                       throws IOException
        Specified by:
        sendError in interface javax.servlet.http.HttpServletResponse
        Throws:
        IOException
      • setDateHeader

        public void setDateHeader​(String name,
                                  long date)
        Specified by:
        setDateHeader in interface javax.servlet.http.HttpServletResponse
      • setHeader

        public void setHeader​(String name,
                              String value)
        Specified by:
        setHeader in interface javax.servlet.http.HttpServletResponse
      • setIntHeader

        public void setIntHeader​(String name,
                                 int value)
        Specified by:
        setIntHeader in interface javax.servlet.http.HttpServletResponse
      • setStatus

        public void setStatus​(int sc)
        Specified by:
        setStatus in interface javax.servlet.http.HttpServletResponse
      • setStatus

        public void setStatus​(int sc,
                              String sm)
        Specified by:
        setStatus in interface javax.servlet.http.HttpServletResponse
      • flushBuffer

        public void flushBuffer()
                         throws IOException
        Specified by:
        flushBuffer in interface javax.servlet.ServletResponse
        Throws:
        IOException
      • getBufferSize

        public int getBufferSize()
        Specified by:
        getBufferSize in interface javax.servlet.ServletResponse
      • getCharacterEncoding

        public String getCharacterEncoding()
        Specified by:
        getCharacterEncoding in interface javax.servlet.ServletResponse
      • getLocale

        public Locale getLocale()
        Specified by:
        getLocale in interface javax.servlet.ServletResponse
      • isCommitted

        public boolean isCommitted()
        Specified by:
        isCommitted in interface javax.servlet.ServletResponse
      • reset

        public void reset()
        Specified by:
        reset in interface javax.servlet.ServletResponse
      • resetBuffer

        public void resetBuffer()
        Specified by:
        resetBuffer in interface javax.servlet.ServletResponse
      • setBufferSize

        public void setBufferSize​(int size)
        Specified by:
        setBufferSize in interface javax.servlet.ServletResponse
      • setContentLength

        public void setContentLength​(int len)
        Specified by:
        setContentLength in interface javax.servlet.ServletResponse
      • setContentType

        public void setContentType​(String type)
        Specified by:
        setContentType in interface javax.servlet.ServletResponse
      • setLocale

        public void setLocale​(Locale loc)
        Specified by:
        setLocale in interface javax.servlet.ServletResponse
      • getStatus

        public int getStatus()
        Specified by:
        getStatus in interface javax.servlet.http.HttpServletResponse
      • getHeader

        public String getHeader​(String name)
        Specified by:
        getHeader in interface javax.servlet.http.HttpServletResponse
      • getHeaders

        public Collection<String> getHeaders​(String name)
        Specified by:
        getHeaders in interface javax.servlet.http.HttpServletResponse
      • getHeaderNames

        public Collection<String> getHeaderNames()
        Specified by:
        getHeaderNames in interface javax.servlet.http.HttpServletResponse
      • getContentType

        public String getContentType()
        Specified by:
        getContentType in interface javax.servlet.ServletResponse
      • setCharacterEncoding

        public void setCharacterEncoding​(String charset)
        Specified by:
        setCharacterEncoding in interface javax.servlet.ServletResponse
      • setContentLengthLong

        public void setContentLengthLong​(long len)
        Specified by:
        setContentLengthLong in interface javax.servlet.ServletResponse