private function handlePotentialSuccess(Request $request, Response $response)
{
if (!$this->originalResponse) {
// No original response detected; decide whether we have a
// response to return
return $this->marshalReceivedResponse($request, $response);
}
$originalResponse = $this->originalResponse;
$decoratedResponse = $request->getAttribute('originalResponse', $response);
if ($originalResponse !== $response && $originalResponse !== $decoratedResponse) {
// Response does not match either the original response or the
// decorated response; return it verbatim.
return $response;
}
if (($originalResponse === $response || $decoratedResponse === $response) && $this->bodySize !== $response->getBody()->getSize()) {
// Response matches either the original response or the
// decorated response; but the body size has changed; return it
// verbatim.
return $response;
}
return $this->create404($request, $response);
}