Open Journal Systems  3.3.0
Guzzle\Http\RedirectPlugin Class Reference
Inheritance diagram for Guzzle\Http\RedirectPlugin:
Symfony\Component\EventDispatcher\EventSubscriberInterface

Public Member Functions

 cleanupRequest (Event $event)
 
 onRequestSent (Event $event)
 

Static Public Member Functions

static getSubscribedEvents ()
 

Data Fields

const DISABLE = 'redirect.disable'
 
const MAX_REDIRECTS = 'redirect.max'
 
const PARENT_REQUEST = 'redirect.parent_request'
 
const REDIRECT_COUNT = 'redirect.count'
 
const STRICT_REDIRECTS = 'redirect.strict'
 

Protected Member Functions

 createRedirectRequest (RequestInterface $request, $statusCode, $location, RequestInterface $original)
 
 getOriginalRequest (RequestInterface $request)
 
 prepareRedirection (RequestInterface $original, RequestInterface $request, Response $response)
 
 sendRedirectRequest (RequestInterface $original, RequestInterface $request, Response $response)
 
 throwTooManyRedirectsException (RequestInterface $original, $max)
 

Protected Attributes

 $defaultMaxRedirects = 5
 

Detailed Description

Plugin to implement HTTP redirects. Can redirect like a web browser or using strict RFC 2616 compliance

Definition at line 19 of file RedirectPlugin.php.

Member Function Documentation

◆ cleanupRequest()

Guzzle\Http\RedirectPlugin::cleanupRequest ( Event  $event)

Clean up the parameters of a request when it is cloned

Parameters
Event$eventEvent emitted

Definition at line 49 of file RedirectPlugin.php.

◆ createRedirectRequest()

Guzzle\Http\RedirectPlugin::createRedirectRequest ( RequestInterface  $request,
  $statusCode,
  $location,
RequestInterface  $original 
)
protected

Create a redirect request for a specific request object

Takes into account strict RFC compliant redirection (e.g. redirect POST with POST) vs doing what most clients do (e.g. redirect POST with GET).

Parameters
RequestInterface$requestRequest being redirected
RequestInterface$originalOriginal request
int$statusCodeStatus code of the redirect
string$locationLocation header of the redirect
Returns
RequestInterface Returns a new redirect request
Exceptions
CouldNotRewindStreamExceptionIf the body needs to be rewound but cannot

Definition at line 120 of file RedirectPlugin.php.

References Guzzle\Http\Url\factory(), Guzzle\Http\Message\EntityEnclosingRequestInterface\getBody(), Guzzle\Http\Message\RequestFactory\getInstance(), Guzzle\Http\Message\MessageInterface\getParams(), Guzzle\Http\Message\RequestInterface\getResponseBody(), Guzzle\Http\RedirectPlugin\PARENT_REQUEST, and Guzzle\Http\Message\RequestInterface\setResponseBody().

Referenced by Guzzle\Http\RedirectPlugin\prepareRedirection().

◆ getOriginalRequest()

Guzzle\Http\RedirectPlugin::getOriginalRequest ( RequestInterface  $request)
protected

Get the original request that initiated a series of redirects

Parameters
RequestInterface$requestRequest to get the original request from
Returns
RequestInterface

Definition at line 95 of file RedirectPlugin.php.

Referenced by Guzzle\Http\RedirectPlugin\onRequestSent().

◆ getSubscribedEvents()

static Guzzle\Http\RedirectPlugin::getSubscribedEvents ( )
static

Returns an array of event names this subscriber wants to listen to.

The array keys are event names and the value can be:

  • The method name to call (priority defaults to 0)
  • An array composed of the method name to call and the priority
  • An array of arrays composed of the method names to call and respective priorities, or 0 if unset

For instance:

  • array('eventName' => 'methodName')
  • array('eventName' => array('methodName', $priority))
  • array('eventName' => array(array('methodName1', $priority), array('methodName2')))
Returns
array The event names to listen to

Implements Symfony\Component\EventDispatcher\EventSubscriberInterface.

Definition at line 35 of file RedirectPlugin.php.

◆ onRequestSent()

Guzzle\Http\RedirectPlugin::onRequestSent ( Event  $event)

Called when a request receives a redirect response

Parameters
Event$eventEvent emitted

Definition at line 61 of file RedirectPlugin.php.

References Guzzle\Http\RedirectPlugin\getOriginalRequest(), and Guzzle\Http\RedirectPlugin\sendRedirectRequest().

◆ prepareRedirection()

Guzzle\Http\RedirectPlugin::prepareRedirection ( RequestInterface  $original,
RequestInterface  $request,
Response  $response 
)
protected

Prepare the request for redirection and enforce the maximum number of allowed redirects per client

Parameters
RequestInterface$originalOriginal request
RequestInterface$requestRequest to prepare and validate
Response$responseThe current response
Returns
RequestInterface

Definition at line 186 of file RedirectPlugin.php.

References Guzzle\Http\RedirectPlugin\$defaultMaxRedirects, Guzzle\Http\RedirectPlugin\createRedirectRequest(), Guzzle\Http\Message\MessageInterface\getParams(), Guzzle\Http\RedirectPlugin\MAX_REDIRECTS, Guzzle\Http\RedirectPlugin\REDIRECT_COUNT, and Guzzle\Http\RedirectPlugin\throwTooManyRedirectsException().

Referenced by Guzzle\Http\RedirectPlugin\sendRedirectRequest().

◆ sendRedirectRequest()

Guzzle\Http\RedirectPlugin::sendRedirectRequest ( RequestInterface  $original,
RequestInterface  $request,
Response  $response 
)
protected

Send a redirect request and handle any errors

Parameters
RequestInterface$originalThe originating request
RequestInterface$requestThe current request being redirected
Response$responseThe response of the current request
Exceptions
BadResponseException|

Definition at line 219 of file RedirectPlugin.php.

References Guzzle\Http\Exception\BadResponseException\getResponse(), and Guzzle\Http\RedirectPlugin\prepareRedirection().

Referenced by Guzzle\Http\RedirectPlugin\onRequestSent().

◆ throwTooManyRedirectsException()

Guzzle\Http\RedirectPlugin::throwTooManyRedirectsException ( RequestInterface  $original,
  $max 
)
protected

Throw a too many redirects exception for a request

Parameters
RequestInterface$originalRequest
int$maxMax allowed redirects
Exceptions
TooManyRedirectsExceptionwhen too many redirects have been issued

Definition at line 242 of file RedirectPlugin.php.

References Guzzle\Common\HasDispatcherInterface\getEventDispatcher().

Referenced by Guzzle\Http\RedirectPlugin\prepareRedirection().

Field Documentation

◆ $defaultMaxRedirects

int Guzzle\Http\RedirectPlugin::$defaultMaxRedirects = 5
protected

Default number of redirects allowed when no setting is supplied by a request

Definition at line 33 of file RedirectPlugin.php.

Referenced by Guzzle\Http\RedirectPlugin\prepareRedirection().

◆ DISABLE

◆ MAX_REDIRECTS

const Guzzle\Http\RedirectPlugin::MAX_REDIRECTS = 'redirect.max'

◆ PARENT_REQUEST

const Guzzle\Http\RedirectPlugin::PARENT_REQUEST = 'redirect.parent_request'

Definition at line 24 of file RedirectPlugin.php.

Referenced by Guzzle\Http\RedirectPlugin\createRedirectRequest().

◆ REDIRECT_COUNT

◆ STRICT_REDIRECTS


The documentation for this class was generated from the following file: