Class HttpRequest

All Implemented Interfaces:
HttpMessage<HttpRequest,Body>, Message

public class HttpRequest extends RequestDefinition implements HttpMessage<HttpRequest,Body>
Author:
jamesdbloom
  • Constructor Details

    • HttpRequest

      public HttpRequest()
  • Method Details

    • request

      public static HttpRequest request()
    • request

      public static HttpRequest request(String path)
    • get

      public static HttpRequest get(String path)
    • post

      public static HttpRequest post(String path)
    • put

      public static HttpRequest put(String path)
    • delete

      public static HttpRequest delete(String path)
    • patch

      public static HttpRequest patch(String path)
    • head

      public static HttpRequest head(String path)
    • options

      public static HttpRequest options(String path)
    • isKeepAlive

      public Boolean isKeepAlive()
    • withKeepAlive

      public HttpRequest withKeepAlive(Boolean isKeepAlive)
      Match on whether the request was made using an HTTP persistent connection, also called HTTP keep-alive, or HTTP connection reuse
      Parameters:
      isKeepAlive - true if the request was made with an HTTP persistent connection
    • isSecure

      public Boolean isSecure()
    • withSecure

      public HttpRequest withSecure(Boolean isSecure)
      Match on whether the request was made over TLS or SSL (i.e. HTTPS)
      Parameters:
      isSecure - true if the request was made with TLS or SSL
    • getRespondBeforeBody

      public Boolean getRespondBeforeBody()
    • withRespondBeforeBody

      public HttpRequest withRespondBeforeBody(Boolean respondBeforeBody)
      Match this request without waiting for the body to be received, and send the configured response before the body is consumed. Matchers with respondBeforeBody=true must not specify a body matcher and must use a RESPONSE or ERROR action; combine with connectionOptions.closeSocket=true on the response to close the connection after the response is sent. Useful for testing client behaviour when a server responds and closes mid-upload.
      Parameters:
      respondBeforeBody - true to dispatch the matched response before the request body is read
    • getProtocol

      public Protocol getProtocol()
    • withProtocol

      public HttpRequest withProtocol(Protocol protocol)
      Match on whether the request was made over HTTP or HTTP2
      Parameters:
      protocol - used to indicate HTTP or HTTP2
    • getStreamId

      public Integer getStreamId()
    • withStreamId

      public HttpRequest withStreamId(Integer streamId)
      HTTP2 stream id request was received on
      Parameters:
      streamId - HTTP2 stream id request was received on
    • getClientCertificateChain

      public List<X509Certificate> getClientCertificateChain()
    • withClientCertificateChain

      public HttpRequest withClientCertificateChain(List<X509Certificate> clientCertificateChain)
    • getSocketAddress

      public SocketAddress getSocketAddress()
    • withSocketAddress

      public HttpRequest withSocketAddress(SocketAddress socketAddress)
      Specify remote address if the remote address can't be derived from the host header, if no value is specified the host header will be used to determine remote address
      Parameters:
      socketAddress - the remote address to send request to
    • withSocketAddress

      public HttpRequest withSocketAddress(String host, Integer port, SocketAddress.Scheme scheme)
      Specify remote address if the remote address can't be derived from the host header, if no value is specified the host header will be used to determine remote address
      Parameters:
      host - the remote host or ip to send request to
      port - the remote port to send request to
      scheme - the scheme to use for remote socket
    • withSocketAddress

      public HttpRequest withSocketAddress(String host, Integer port)
      Specify remote address by attempting to derive it from the host header and / or the specified port
      Parameters:
      host - the remote host or ip to send request to
      port - the remote port to send request to
    • withSocketAddressFromHostHeader

      public HttpRequest withSocketAddressFromHostHeader()
      Specify remote address by attempting to derive it from the host header
    • withSocketAddress

      public HttpRequest withSocketAddress(Boolean isSecure, String host, Integer port)
      Specify remote address by attempting to derive it from the host header and / or the specified port
      Parameters:
      isSecure - true if the request was made with TLS or SSL
      host - the remote host or ip to send request to
      port - the remote port to send request to
    • splitHostPort

      public static String[] splitHostPort(String hostPort)
    • withLocalAddress

      public HttpRequest withLocalAddress(String localAddress)
    • getLocalAddress

      public String getLocalAddress()
    • withRemoteAddress

      public HttpRequest withRemoteAddress(String remoteAddress)
    • getRemoteAddress

      public String getRemoteAddress()
    • withMethod

      public HttpRequest withMethod(String method)
      The HTTP method to match on such as "GET" or "POST"
      Parameters:
      method - the HTTP method such as "GET" or "POST"
    • withMethodSchema

      public HttpRequest withMethodSchema(String method)
      The HTTP method to match on as a JSON Schema for example:
       {
           "type": "string",
           "minLength": 2,
           "maxLength": 3
       }
      
       or
      
       {
           "type": "string",
           "pattern": "^P.{2,3}$"
       }
      
       or
      
       {
           "type": "string",
           "format": "ipv4"
       }
       

      For full details of JSON Schema see, https://json-schema.org/understanding-json-schema/reference/string.html

      Parameters:
      method - the HTTP method to match on as a JSON Schema
    • withMethod

      public HttpRequest withMethod(NottableString method)
      The HTTP method all method except a specific value using the "not" operator, for example this allows operations such as not("GET")
      Parameters:
      method - the HTTP method to not match on not("GET") or not("POST")
    • getMethod

      public NottableString getMethod()
    • getMethod

      public String getMethod(String defaultValue)
    • withPath

      public HttpRequest withPath(String path)
      The path to match on such as "/some_mocked_path" any servlet context path is ignored for matching and should not be specified here regex values are also supported such as ".*_path", see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html for full details of the supported regex syntax
      Parameters:
      path - the path such as "/some_mocked_path" or a regex
    • withPath

      public HttpRequest withPath(NottableString path)
      The path to not match on for example not("/some_mocked_path") with match any path not equal to "/some_mocked_path", the servlet context path is ignored for matching and should not be specified hereregex values are also supported such as not(".*_path"), see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html for full details of the supported regex syntax
      Parameters:
      path - the path to not match on such as not("/some_mocked_path") or not(".*_path")
    • withPathSchema

      public HttpRequest withPathSchema(String path)
      The path to match on as a JSON Schema for example:
       {
           "type": "string",
           "minLength": 2,
           "maxLength": 3
       }
      
       or
      
       {
           "type": "string",
           "pattern": "^simp.{2}$"
       }
      
       or
      
       {
           "type": "string",
           "format": "ipv4"
       }
       

      For full details of JSON Schema see, https://json-schema.org/understanding-json-schema/reference/string.html

      Parameters:
      path - the path to match on as a JSON Schema
    • getPath

      public NottableString getPath()
    • matches

      public boolean matches(String method)
    • matches

      public boolean matches(String method, String... paths)
    • getPathParameters

      public Parameters getPathParameters()
    • withPathParameters

      public HttpRequest withPathParameters(Parameters parameters)
    • withPathParameters

      public HttpRequest withPathParameters(List<Parameter> parameters)
      The path parameter to match on as a list of Parameter objects where the values or keys of each parameter can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      parameters - the list of Parameter objects where the values or keys of each parameter can be either a string or a regex
    • withPathParameters

      public HttpRequest withPathParameters(Parameter... parameters)
      The path parameter to match on as a varags Parameter objects where the values or keys of each parameter can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      parameters - the varags Parameter objects where the values or keys of each parameter can be either a string or a regex
    • withPathParameters

      public HttpRequest withPathParameters(Map<String,List<String>> parameters)
      The path parameter to match on as a Map<String, List<String>> where the values or keys of each parameter can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      parameters - the Map<String, List<String>> object where the values or keys of each parameter can be either a string or a regex
    • withPathParameter

      public HttpRequest withPathParameter(Parameter parameter)
      Adds one path parameter to match on as a Parameter object where the parameter values list can be a list of strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      parameter - the Parameter object which can have a values list of strings or regular expressions
    • withPathParameter

      public HttpRequest withPathParameter(String name, String... values)
      Adds one path parameter to match which can specified using plain strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      name - the parameter name
      values - the parameter values which can be a varags of strings or regular expressions
    • withSchemaPathParameter

      public HttpRequest withSchemaPathParameter(String name, String... values)
      Adds one path parameter to match which the values are JSON schema i.e. "{ \"type\": \"string\", \"pattern\": \"^someV[a-z]{4}$\" }" (for more details of the supported JSON schema see https://json-schema.org)
      Parameters:
      name - the parameter name
      values - the parameter values which can be a varags of JSON schemas
    • withPathParameter

      public HttpRequest withPathParameter(NottableString name, NottableString... values)
      Adds one path parameter to match on or to not match on using the NottableString, each NottableString can either be a positive matching value, such as string("match"), or a value to not match on, such as not("do not match"), the string values passed to the NottableString can also be a plain string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      name - the parameter name as a NottableString
      values - the parameter values which can be a varags of NottableStrings
    • getPathParameterList

      public List<Parameter> getPathParameterList()
    • hasPathParameter

      public boolean hasPathParameter(String name, String value)
    • hasPathParameter

      public boolean hasPathParameter(NottableString name, NottableString value)
    • getFirstPathParameter

      public String getFirstPathParameter(String name)
    • getQueryStringParameters

      public Parameters getQueryStringParameters()
    • withQueryStringParameters

      public HttpRequest withQueryStringParameters(Parameters parameters)
    • withQueryStringParameters

      public HttpRequest withQueryStringParameters(List<Parameter> parameters)
      The query string parameters to match on as a list of Parameter objects where the values or keys of each parameter can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      parameters - the list of Parameter objects where the values or keys of each parameter can be either a string or a regex
    • withQueryStringParameters

      public HttpRequest withQueryStringParameters(Parameter... parameters)
      The query string parameters to match on as a varags Parameter objects where the values or keys of each parameter can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      parameters - the varags Parameter objects where the values or keys of each parameter can be either a string or a regex
    • withQueryStringParameters

      public HttpRequest withQueryStringParameters(Map<String,List<String>> parameters)
      The query string parameters to match on as a Map<String, List<String>> where the values or keys of each parameter can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      parameters - the Map<String, List<String>> object where the values or keys of each parameter can be either a string or a regex
    • withQueryStringParameter

      public HttpRequest withQueryStringParameter(Parameter parameter)
      Adds one query string parameter to match on as a Parameter object where the parameter values list can be a list of strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      parameter - the Parameter object which can have a values list of strings or regular expressions
    • withQueryStringParameter

      public HttpRequest withQueryStringParameter(String name, String... values)
      Adds one query string parameter to match which the values are plain strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      name - the parameter name
      values - the parameter values which can be a varags of strings or regular expressions
    • withSchemaQueryStringParameter

      public HttpRequest withSchemaQueryStringParameter(String name, String... values)
      Adds one query string parameter to match which the values are JSON schema i.e. "{ \"type\": \"string\", \"pattern\": \"^someV[a-z]{4}$\" }" (for more details of the supported JSON schema see https://json-schema.org)
      Parameters:
      name - the parameter name
      values - the parameter values which can be a varags of JSON schemas
    • withQueryStringParameter

      public HttpRequest withQueryStringParameter(NottableString name, NottableString... values)
      Adds one query string parameter to match on or to not match on using the NottableString, each NottableString can either be a positive matching value, such as string("match"), or a value to not match on, such as not("do not match"), the string values passed to the NottableString can also be a plain string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Parameters:
      name - the parameter name as a NottableString
      values - the parameter values which can be a varags of NottableStrings
    • getQueryStringParameterList

      public List<Parameter> getQueryStringParameterList()
    • hasQueryStringParameter

      public boolean hasQueryStringParameter(String name, String value)
    • hasQueryStringParameter

      public boolean hasQueryStringParameter(NottableString name, NottableString value)
    • getFirstQueryStringParameter

      public String getFirstQueryStringParameter(String name)
    • withBody

      public HttpRequest withBody(String body)
      The exact string body to match on such as "this is an exact string body"
      Specified by:
      withBody in interface HttpMessage<HttpRequest,Body>
      Parameters:
      body - the body on such as "this is an exact string body"
    • withBody

      public HttpRequest withBody(String body, Charset charset)
      The exact string body to match on such as "this is an exact string body"
      Specified by:
      withBody in interface HttpMessage<HttpRequest,Body>
      Parameters:
      body - the body on such as "this is an exact string body"
      charset - character set the string will be encoded in
    • withBody

      public HttpRequest withBody(byte[] body)
      The body to match on as binary data such as a pdf or image
      Specified by:
      withBody in interface HttpMessage<HttpRequest,Body>
      Parameters:
      body - a byte array
    • withBody

      public HttpRequest withBody(Body body)
      The body match rules on such as using one of the Body subclasses as follows:

      exact string match: - exact("this is an exact string body");

      or

      - new StringBody("this is an exact string body")

      regular expression match: - regex("username[a-z]{4}");

      or

      - new RegexBody("username[a-z]{4}");

      json match: - json("{username: 'foo', password: 'bar'}");

      or

      - json("{username: 'foo', password: 'bar'}", MatchType.STRICT);

      or

      - new JsonBody("{username: 'foo', password: 'bar'}");

      json schema match: - jsonSchema("{type: 'object', properties: { 'username': { 'type': 'string' }, 'password': { 'type': 'string' } }, 'required': ['username', 'password']}");

      or

      - jsonSchemaFromResource("org/mockserver/model/loginSchema.json");

      or

      - new JsonSchemaBody("{type: 'object', properties: { 'username': { 'type': 'string' }, 'password': { 'type': 'string' } }, 'required': ['username', 'password']}");

      xpath match: - xpath("/element[key = 'some_key' and value = 'some_value']");

      or

      - new XPathBody("/element[key = 'some_key' and value = 'some_value']");

      body parameter match: - params( param("name_one", "value_one_one", "value_one_two") param("name_two", "value_two") );

      or

      - new ParameterBody( new Parameter("name_one", "value_one_one", "value_one_two") new Parameter("name_two", "value_two") );

      binary match: - binary(IOUtils.readFully(getClass().getClassLoader().getResourceAsStream("example.pdf"), 1024));

      or

      - new BinaryBody(IOUtils.readFully(getClass().getClassLoader().getResourceAsStream("example.pdf"), 1024));

      for more details of the supported regular expression syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html for more details of the supported json syntax see http://jsonassert.skyscreamer.org for more details of the supported json schema syntax see http://json-schema.org/ for more detail of XPath syntax see http://saxon.sourceforge.net/saxon6.5.3/expressions.html

      Specified by:
      withBody in interface HttpMessage<HttpRequest,Body>
      Parameters:
      body - an instance of one of the Body subclasses including StringBody, ParameterBody or BinaryBody
    • getBody

      public Body getBody()
      Specified by:
      getBody in interface HttpMessage<HttpRequest,Body>
    • getBodyAsRawBytes

      public byte[] getBodyAsRawBytes()
      Specified by:
      getBodyAsRawBytes in interface HttpMessage<HttpRequest,Body>
    • getOriginalBody

      public byte[] getOriginalBody()
      When a request arrived with a Content-Encoding (e.g. gzip) and MockServer decompressed it, this holds the original bytes exactly as received on the wire (still compressed). It is null when the request body was not compressed, so getBodyAsRawBytes() (the decompressed body) and this value together let you inspect both representations. A BinaryBody expectation matches against either representation.
    • getBodyAsOriginalRawBytes

      public byte[] getBodyAsOriginalRawBytes()
      Returns:
      the original on-the-wire (compressed) body bytes when the request was compressed, otherwise the decompressed raw bytes — i.e. always the bytes as the client sent them.
    • withOriginalBody

      public HttpRequest withOriginalBody(byte[] originalBody)
    • getBodyAsString

      public String getBodyAsString()
      Specified by:
      getBodyAsString in interface HttpMessage<HttpRequest,Body>
    • getBodyAsJsonOrXmlString

      public String getBodyAsJsonOrXmlString()
    • getHeaders

      public Headers getHeaders()
      Specified by:
      getHeaders in interface HttpMessage<HttpRequest,Body>
    • withHeaders

      public HttpRequest withHeaders(Headers headers)
      Specified by:
      withHeaders in interface HttpMessage<HttpRequest,Body>
    • withHeaders

      public HttpRequest withHeaders(List<Header> headers)
      The headers to match on as a list of Header objects where the values or keys of each header can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withHeaders in interface HttpMessage<HttpRequest,Body>
      Parameters:
      headers - the list of Header objects where the values or keys of each header can be either a string or a regex
    • withHeaders

      public HttpRequest withHeaders(Header... headers)
      The headers to match on as a varags of Header objects where the values or keys of each header can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withHeaders in interface HttpMessage<HttpRequest,Body>
      Parameters:
      headers - the varags of Header objects where the values or keys of each header can be either a string or a regex
    • withHeader

      public HttpRequest withHeader(Header header)
      Adds one header to match on as a Header object where the header values list can be a list of strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withHeader in interface HttpMessage<HttpRequest,Body>
      Parameters:
      header - the Header object which can have a values list of strings or regular expressions
    • withHeader

      public HttpRequest withHeader(String name, String... values)
      Adds one header to match which can specified using plain strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withHeader in interface HttpMessage<HttpRequest,Body>
      Parameters:
      name - the header name
      values - the header values which can be a varags of strings or regular expressions
    • withSchemaHeader

      public HttpRequest withSchemaHeader(String name, String... values)
      Adds one header to match which the values are JSON schema i.e. "{ \"type\": \"string\", \"pattern\": \"^someV[a-z]{4}$\" }" (for more details of the supported JSON schema see https://json-schema.org)
      Parameters:
      name - the header name
      values - the header values which can be a varags of JSON schemas
    • withHeader

      public HttpRequest withHeader(NottableString name, NottableString... values)
      Adds one header to match on or to not match on using the NottableString, each NottableString can either be a positive matching value, such as string("match"), or a value to not match on, such as not("do not match"), the string values passed to the NottableString can also be a plain string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withHeader in interface HttpMessage<HttpRequest,Body>
      Parameters:
      name - the header name as a NottableString
      values - the header values which can be a varags of NottableStrings
    • withContentType

      public HttpRequest withContentType(MediaType mediaType)
      Specified by:
      withContentType in interface HttpMessage<HttpRequest,Body>
    • replaceHeader

      public HttpRequest replaceHeader(Header header)
      Adds one header to match on as a Header object where the header values list can be a list of strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      replaceHeader in interface HttpMessage<HttpRequest,Body>
      Parameters:
      header - the Header object which can have a values list of strings or regular expressions
    • getHeaderList

      public List<Header> getHeaderList()
      Specified by:
      getHeaderList in interface HttpMessage<HttpRequest,Body>
    • getHeader

      public List<String> getHeader(String name)
      Specified by:
      getHeader in interface HttpMessage<HttpRequest,Body>
    • getFirstHeader

      public String getFirstHeader(String name)
      Specified by:
      getFirstHeader in interface HttpMessage<HttpRequest,Body>
    • containsHeader

      public boolean containsHeader(String name)
      Returns true if a header with the specified name has been added
      Specified by:
      containsHeader in interface HttpMessage<HttpRequest,Body>
      Parameters:
      name - the header name
      Returns:
      true if a header has been added with that name otherwise false
    • containsHeader

      public boolean containsHeader(String name, String value)
      Returns true if a header with the specified name and value has been added
      Parameters:
      name - the header name
      value - the header value
      Returns:
      true if a header has been added with that name otherwise false
    • removeHeader

      public HttpRequest removeHeader(String name)
      Specified by:
      removeHeader in interface HttpMessage<HttpRequest,Body>
    • removeHeader

      public HttpRequest removeHeader(NottableString name)
      Specified by:
      removeHeader in interface HttpMessage<HttpRequest,Body>
    • getCookies

      public Cookies getCookies()
      Specified by:
      getCookies in interface HttpMessage<HttpRequest,Body>
    • withCookies

      public HttpRequest withCookies(Cookies cookies)
      Specified by:
      withCookies in interface HttpMessage<HttpRequest,Body>
    • withCookies

      public HttpRequest withCookies(List<Cookie> cookies)
      The cookies to match on as a list of Cookie objects where the values or keys of each cookie can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withCookies in interface HttpMessage<HttpRequest,Body>
      Parameters:
      cookies - a list of Cookie objects
    • withCookies

      public HttpRequest withCookies(Cookie... cookies)
      The cookies to match on as a varags Cookie objects where the values or keys of each cookie can be either a string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withCookies in interface HttpMessage<HttpRequest,Body>
      Parameters:
      cookies - a varargs of Cookie objects
    • withCookie

      public HttpRequest withCookie(Cookie cookie)
      Adds one cookie to match on as a Cookie object where the cookie values list can be a list of strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withCookie in interface HttpMessage<HttpRequest,Body>
      Parameters:
      cookie - a Cookie object
    • withCookie

      public HttpRequest withCookie(String name, String value)
      Adds one cookie to match on, which the value is plain strings or regular expressions (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withCookie in interface HttpMessage<HttpRequest,Body>
      Parameters:
      name - the cookies name
      value - the cookies value
    • withSchemaCookie

      public HttpRequest withSchemaCookie(String name, String value)
      Adds one cookie to match on, which the value the values is JSON schema i.e. "{ \"type\": \"string\", \"pattern\": \"^someV[a-z]{4}$\" }" (for more details of the supported JSON schema see https://json-schema.org)
      Parameters:
      name - the cookies name
      value - the cookies value as JSON schema
    • withCookie

      public HttpRequest withCookie(NottableString name, NottableString value)
      Adds one cookie to match on or to not match on using the NottableString, each NottableString can either be a positive matching value, such as string("match"), or a value to not match on, such as not("do not match"), the string values passed to the NottableString can be a plain string or a regex (for more details of the supported regex syntax see http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
      Specified by:
      withCookie in interface HttpMessage<HttpRequest,Body>
      Parameters:
      name - the cookies name
      value - the cookies value
    • getCookieList

      public List<Cookie> getCookieList()
      Specified by:
      getCookieList in interface HttpMessage<HttpRequest,Body>
    • socketAddressFromHostHeader

      public InetSocketAddress socketAddressFromHostHeader()
    • shallowClone

      public HttpRequest shallowClone()
      Specified by:
      shallowClone in class RequestDefinition
    • clone

      public HttpRequest clone()
      Overrides:
      clone in class Object
    • update

      public HttpRequest update(HttpRequest requestOverride, HttpRequestModifier requestModifier)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class RequestDefinition
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class RequestDefinition