src/Http/Request.php
public function withRequestTarget($request_target)
    {
        if (!preg_match('/\s/', $request_target)) {
            $request = clone $this;
            $request->request_target = $request_target;
        }

        return $this;
    }
public function withRequestTarget($request_target)
    {
        if (!preg_match('/\s/', $request_target)) {
            $request = clone $this;
            $request->request_target = $request_target;
        }

        return $this;
    }
Return an instance with the specific request-target.
If the request needs a non-origin-form request-target — e.g., for
specifying an absolute-form, authority-form, or asterisk-form —
this method may be used to create an instance with the specified
request-target, verbatim.
This method MUST be implemented in such a way as to retain the
immutability of the message, and MUST return an instance that has the
changed request target.

@link http://tools.ietf.org/html/rfc7230#section-5.3 (for the various
request-target forms allowed in request messages)
@param mixed $request_target
@return RequestInterface