Class SlingHttpResponse

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, org.apache.http.client.methods.CloseableHttpResponse, org.apache.http.HttpMessage, org.apache.http.HttpResponse

    public class SlingHttpResponse
    extends java.lang.Object
    implements org.apache.http.client.methods.CloseableHttpResponse
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CHANGE_LOG  
      static java.lang.String LOCATION  
      static java.lang.String MESSAGE  
      static java.lang.String PARENT_LOCATION  
      static java.lang.String PATH  
      static java.lang.String REFERER  
      static java.lang.String STATUS  
    • Constructor Summary

      Constructors 
      Constructor Description
      SlingHttpResponse​(org.apache.http.client.methods.CloseableHttpResponse response)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addHeader​(java.lang.String name, java.lang.String value)  
      void addHeader​(org.apache.http.Header header)  
      void checkContentContains​(java.lang.String... expected)
      Assert that all the provided Strings are contained in the response
      void checkContentRegexp​(java.lang.String... regexp)
      For each regular expression, assert that at least one line of the response matches the expression
      void checkContentType​(java.lang.String expected)
      Assert that response matches supplied content type (from Content-Type header)
      void checkStatus​(int expected)
      Assert that response matches supplied status
      void close()  
      boolean containsHeader​(java.lang.String name)  
      protected java.lang.String extractFromHTMLResponse​(java.lang.String searchPattern)
      Extract information from response
      org.apache.http.Header[] getAllHeaders()  
      java.lang.String getContent()
      Get the String content of the response.
      org.apache.http.HttpEntity getEntity()  
      org.apache.http.Header getFirstHeader​(java.lang.String name)  
      org.apache.http.Header[] getHeaders​(java.lang.String name)  
      org.apache.http.Header getLastHeader​(java.lang.String name)  
      java.util.Locale getLocale()  
      org.apache.http.params.HttpParams getParams()  
      org.apache.http.ProtocolVersion getProtocolVersion()  
      java.lang.String getSlingChangeLog()
      Get change log from Sling Response
      java.lang.String[] getSlingCopyPaths()
      Get copy paths from message
      java.lang.String getSlingLocation()
      Get location from Sling Response
      java.lang.String getSlingMessage()
      Get message from Sling Response
      java.lang.String getSlingParentLocation()
      Get parent location from Sling Response
      java.lang.String getSlingPath()
      Get path from Sling Response
      java.lang.String getSlingReferer()
      Get referer from Sling Response
      java.lang.String getSlingStatus()
      Get status from Sling Response
      int getSlingStatusAsInt()
      Get status from Sling Response as integer
      org.apache.http.StatusLine getStatusLine()  
      org.apache.http.HeaderIterator headerIterator()  
      org.apache.http.HeaderIterator headerIterator​(java.lang.String name)  
      boolean isConsumed()  
      void removeHeader​(org.apache.http.Header header)  
      void removeHeaders​(java.lang.String name)  
      void setEntity​(org.apache.http.HttpEntity entity)  
      void setHeader​(java.lang.String name, java.lang.String value)  
      void setHeader​(org.apache.http.Header header)  
      void setHeaders​(org.apache.http.Header[] headers)  
      void setLocale​(java.util.Locale loc)  
      void setParams​(org.apache.http.params.HttpParams params)  
      void setReasonPhrase​(java.lang.String reason)  
      void setStatusCode​(int code)  
      void setStatusLine​(org.apache.http.ProtocolVersion ver, int code)  
      void setStatusLine​(org.apache.http.ProtocolVersion ver, int code, java.lang.String reason)  
      void setStatusLine​(org.apache.http.StatusLine statusline)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SlingHttpResponse

        public SlingHttpResponse​(org.apache.http.client.methods.CloseableHttpResponse response)
    • Method Detail

      • getContent

        public java.lang.String getContent()

        Get the String content of the response.

        The content is cached so it is safe to call this method several times.

        Attention! Calling this method consumes the entity, so it cannot be used as an InputStream later

        Returns:
        the content as String
      • isConsumed

        public boolean isConsumed()
      • checkStatus

        public void checkStatus​(int expected)
                         throws ClientException

        Assert that response matches supplied status

        Parameters:
        expected - the expected http status
        Throws:
        ClientException - if the response does not match the expected
      • checkContentType

        public void checkContentType​(java.lang.String expected)
                              throws ClientException

        Assert that response matches supplied content type (from Content-Type header)

        Parameters:
        expected - the expected content type
        Throws:
        ClientException - if the response content type does not match the expected
      • checkContentRegexp

        public void checkContentRegexp​(java.lang.String... regexp)
                                throws ClientException

        For each regular expression, assert that at least one line of the response matches the expression

        The regular expressions are automatically prefixed and suffixed with .* it order to partial-match the lines

        Parameters:
        regexp - list of regular expressions
        Throws:
        ClientException - if the response content does not match one of the regexp
      • checkContentContains

        public void checkContentContains​(java.lang.String... expected)
                                  throws ClientException

        Assert that all the provided Strings are contained in the response

        Parameters:
        expected - list of expected strings
        Throws:
        ClientException - @throws ClientException if the response content does not match one of the strings
      • getSlingStatus

        public java.lang.String getSlingStatus()
        Get status from Sling Response
        Returns:
        Sling Status
      • getSlingStatusAsInt

        public int getSlingStatusAsInt()
                                throws java.lang.NumberFormatException
        Get status from Sling Response as integer
        Returns:
        Sling Status
        Throws:
        java.lang.NumberFormatException - if sling status can't be parsed as a number
      • getSlingMessage

        public java.lang.String getSlingMessage()
        Get message from Sling Response
        Returns:
        Sling Message
      • getSlingCopyPaths

        public java.lang.String[] getSlingCopyPaths()
        Get copy paths from message
        Returns:
        copy paths as String Array
      • getSlingLocation

        public java.lang.String getSlingLocation()
        Get location from Sling Response
        Returns:
        Sling Location
      • getSlingParentLocation

        public java.lang.String getSlingParentLocation()
        Get parent location from Sling Response
        Returns:
        Sling Parent Location
      • getSlingPath

        public java.lang.String getSlingPath()
        Get path from Sling Response
        Returns:
        Sling Path
      • getSlingReferer

        public java.lang.String getSlingReferer()
        Get referer from Sling Response
        Returns:
        Sling Referer
      • getSlingChangeLog

        public java.lang.String getSlingChangeLog()
        Get change log from Sling Response
        Returns:
        Sling Change Log
      • extractFromHTMLResponse

        protected java.lang.String extractFromHTMLResponse​(java.lang.String searchPattern)
        Extract information from response
        Parameters:
        searchPattern - search pattern to look for
        Returns:
        Sling information
      • getStatusLine

        public org.apache.http.StatusLine getStatusLine()
        Specified by:
        getStatusLine in interface org.apache.http.HttpResponse
      • setStatusLine

        public void setStatusLine​(org.apache.http.StatusLine statusline)
        Specified by:
        setStatusLine in interface org.apache.http.HttpResponse
      • setStatusLine

        public void setStatusLine​(org.apache.http.ProtocolVersion ver,
                                  int code)
        Specified by:
        setStatusLine in interface org.apache.http.HttpResponse
      • setStatusLine

        public void setStatusLine​(org.apache.http.ProtocolVersion ver,
                                  int code,
                                  java.lang.String reason)
        Specified by:
        setStatusLine in interface org.apache.http.HttpResponse
      • setStatusCode

        public void setStatusCode​(int code)
                           throws java.lang.IllegalStateException
        Specified by:
        setStatusCode in interface org.apache.http.HttpResponse
        Throws:
        java.lang.IllegalStateException
      • setReasonPhrase

        public void setReasonPhrase​(java.lang.String reason)
                             throws java.lang.IllegalStateException
        Specified by:
        setReasonPhrase in interface org.apache.http.HttpResponse
        Throws:
        java.lang.IllegalStateException
      • getEntity

        public org.apache.http.HttpEntity getEntity()
        Specified by:
        getEntity in interface org.apache.http.HttpResponse
      • setEntity

        public void setEntity​(org.apache.http.HttpEntity entity)
        Specified by:
        setEntity in interface org.apache.http.HttpResponse
      • getLocale

        public java.util.Locale getLocale()
        Specified by:
        getLocale in interface org.apache.http.HttpResponse
      • setLocale

        public void setLocale​(java.util.Locale loc)
        Specified by:
        setLocale in interface org.apache.http.HttpResponse
      • getProtocolVersion

        public org.apache.http.ProtocolVersion getProtocolVersion()
        Specified by:
        getProtocolVersion in interface org.apache.http.HttpMessage
      • containsHeader

        public boolean containsHeader​(java.lang.String name)
        Specified by:
        containsHeader in interface org.apache.http.HttpMessage
      • getHeaders

        public org.apache.http.Header[] getHeaders​(java.lang.String name)
        Specified by:
        getHeaders in interface org.apache.http.HttpMessage
      • getFirstHeader

        public org.apache.http.Header getFirstHeader​(java.lang.String name)
        Specified by:
        getFirstHeader in interface org.apache.http.HttpMessage
      • getLastHeader

        public org.apache.http.Header getLastHeader​(java.lang.String name)
        Specified by:
        getLastHeader in interface org.apache.http.HttpMessage
      • getAllHeaders

        public org.apache.http.Header[] getAllHeaders()
        Specified by:
        getAllHeaders in interface org.apache.http.HttpMessage
      • addHeader

        public void addHeader​(org.apache.http.Header header)
        Specified by:
        addHeader in interface org.apache.http.HttpMessage
      • addHeader

        public void addHeader​(java.lang.String name,
                              java.lang.String value)
        Specified by:
        addHeader in interface org.apache.http.HttpMessage
      • setHeader

        public void setHeader​(org.apache.http.Header header)
        Specified by:
        setHeader in interface org.apache.http.HttpMessage
      • setHeader

        public void setHeader​(java.lang.String name,
                              java.lang.String value)
        Specified by:
        setHeader in interface org.apache.http.HttpMessage
      • setHeaders

        public void setHeaders​(org.apache.http.Header[] headers)
        Specified by:
        setHeaders in interface org.apache.http.HttpMessage
      • removeHeader

        public void removeHeader​(org.apache.http.Header header)
        Specified by:
        removeHeader in interface org.apache.http.HttpMessage
      • removeHeaders

        public void removeHeaders​(java.lang.String name)
        Specified by:
        removeHeaders in interface org.apache.http.HttpMessage
      • headerIterator

        public org.apache.http.HeaderIterator headerIterator()
        Specified by:
        headerIterator in interface org.apache.http.HttpMessage
      • headerIterator

        public org.apache.http.HeaderIterator headerIterator​(java.lang.String name)
        Specified by:
        headerIterator in interface org.apache.http.HttpMessage
      • getParams

        public org.apache.http.params.HttpParams getParams()
        Specified by:
        getParams in interface org.apache.http.HttpMessage
      • setParams

        public void setParams​(org.apache.http.params.HttpParams params)
        Specified by:
        setParams in interface org.apache.http.HttpMessage
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException