Class SlingHttpResponse

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

    public class SlingHttpResponse
    extends Object
    implements org.apache.http.client.methods.CloseableHttpResponse
    • Constructor Detail

      • SlingHttpResponse

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

      • getContent

        public 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 TestingValidationException

        Assert that response matches supplied status

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

        public void checkContentType​(String expected)
                              throws TestingValidationException

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

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

        public void checkContentRegexp​(String... regexp)
                                throws TestingValidationException

        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:
        TestingValidationException - if the response content does not match one of the regexp
      • checkContentContains

        public void checkContentContains​(String... expected)
                                  throws TestingValidationException

        Assert that all the provided Strings are contained in the response

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

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

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

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

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

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

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

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

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

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

        protected String extractFromHTMLResponse​(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,
                                  String reason)
        Specified by:
        setStatusLine in interface org.apache.http.HttpResponse
      • 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 Locale getLocale()
        Specified by:
        getLocale in interface org.apache.http.HttpResponse
      • setLocale

        public void setLocale​(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​(String name)
        Specified by:
        containsHeader in interface org.apache.http.HttpMessage
      • getHeaders

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

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

        public org.apache.http.Header getLastHeader​(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​(String name,
                              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​(String name,
                              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​(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​(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