public function withRequest(RequestInterface $request)
    {
        $object = clone $this;
        $object->request = $request;
        $object->method  = $request->getMethod();
        return $object;
    }
public function withRequest(RequestInterface $request)
    {
        $object = clone $this;
        $object->request = $request;
        $object->method  = $request->getMethod();
        return $object;
    }
public function withRequest ( RequestInterface $ request ) { $ object = clone $ this ; $ object -> request = $ request ; $ object -> method = $ request -> getMethod ( ) ; return $ object ; }
With Set Request

@param RequestInterface $request
@return mixed
With Set Request