Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/wordpres.../vendor_p.../guzzleht.../guzzle/src
File: MessageFormatter.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace YoastSEO_Vendor\GuzzleHttp;
[2] Fix | Delete
[3] Fix | Delete
use YoastSEO_Vendor\Psr\Http\Message\MessageInterface;
[4] Fix | Delete
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
[5] Fix | Delete
use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface;
[6] Fix | Delete
/**
[7] Fix | Delete
* Formats log messages using variable substitutions for requests, responses,
[8] Fix | Delete
* and other transactional data.
[9] Fix | Delete
*
[10] Fix | Delete
* The following variable substitutions are supported:
[11] Fix | Delete
*
[12] Fix | Delete
* - {request}: Full HTTP request message
[13] Fix | Delete
* - {response}: Full HTTP response message
[14] Fix | Delete
* - {ts}: ISO 8601 date in GMT
[15] Fix | Delete
* - {date_iso_8601} ISO 8601 date in GMT
[16] Fix | Delete
* - {date_common_log} Apache common log date using the configured timezone.
[17] Fix | Delete
* - {host}: Host of the request
[18] Fix | Delete
* - {method}: Method of the request
[19] Fix | Delete
* - {uri}: URI of the request
[20] Fix | Delete
* - {version}: Protocol version
[21] Fix | Delete
* - {target}: Request target of the request (path + query + fragment)
[22] Fix | Delete
* - {hostname}: Hostname of the machine that sent the request
[23] Fix | Delete
* - {code}: Status code of the response (if available)
[24] Fix | Delete
* - {phrase}: Reason phrase of the response (if available)
[25] Fix | Delete
* - {error}: Any error messages (if available)
[26] Fix | Delete
* - {req_header_*}: Replace `*` with the lowercased name of a request header to add to the message
[27] Fix | Delete
* - {res_header_*}: Replace `*` with the lowercased name of a response header to add to the message
[28] Fix | Delete
* - {req_headers}: Request headers
[29] Fix | Delete
* - {res_headers}: Response headers
[30] Fix | Delete
* - {req_body}: Request body
[31] Fix | Delete
* - {res_body}: Response body
[32] Fix | Delete
*
[33] Fix | Delete
* @final
[34] Fix | Delete
*/
[35] Fix | Delete
class MessageFormatter implements \YoastSEO_Vendor\GuzzleHttp\MessageFormatterInterface
[36] Fix | Delete
{
[37] Fix | Delete
/**
[38] Fix | Delete
* Apache Common Log Format.
[39] Fix | Delete
*
[40] Fix | Delete
* @see https://httpd.apache.org/docs/2.4/logs.html#common
[41] Fix | Delete
*
[42] Fix | Delete
* @var string
[43] Fix | Delete
*/
[44] Fix | Delete
public const CLF = '{hostname} {req_header_User-Agent} - [{date_common_log}] "{method} {target} HTTP/{version}" {code} {res_header_Content-Length}';
[45] Fix | Delete
public const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}";
[46] Fix | Delete
public const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}';
[47] Fix | Delete
/**
[48] Fix | Delete
* @var string Template used to format log messages
[49] Fix | Delete
*/
[50] Fix | Delete
private $template;
[51] Fix | Delete
/**
[52] Fix | Delete
* @param string $template Log message template
[53] Fix | Delete
*/
[54] Fix | Delete
public function __construct(?string $template = self::CLF)
[55] Fix | Delete
{
[56] Fix | Delete
$this->template = $template ?: self::CLF;
[57] Fix | Delete
}
[58] Fix | Delete
/**
[59] Fix | Delete
* Returns a formatted message string.
[60] Fix | Delete
*
[61] Fix | Delete
* @param RequestInterface $request Request that was sent
[62] Fix | Delete
* @param ResponseInterface|null $response Response that was received
[63] Fix | Delete
* @param \Throwable|null $error Exception that was received
[64] Fix | Delete
*/
[65] Fix | Delete
public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $error = null) : string
[66] Fix | Delete
{
[67] Fix | Delete
$cache = [];
[68] Fix | Delete
/** @var string */
[69] Fix | Delete
return \preg_replace_callback('/{\\s*([A-Za-z_\\-\\.0-9]+)\\s*}/', function (array $matches) use($request, $response, $error, &$cache) {
[70] Fix | Delete
if (isset($cache[$matches[1]])) {
[71] Fix | Delete
return $cache[$matches[1]];
[72] Fix | Delete
}
[73] Fix | Delete
$result = '';
[74] Fix | Delete
switch ($matches[1]) {
[75] Fix | Delete
case 'request':
[76] Fix | Delete
$result = \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::toString($request);
[77] Fix | Delete
break;
[78] Fix | Delete
case 'response':
[79] Fix | Delete
$result = $response ? \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::toString($response) : '';
[80] Fix | Delete
break;
[81] Fix | Delete
case 'req_headers':
[82] Fix | Delete
$result = \trim($request->getMethod() . ' ' . $request->getRequestTarget()) . ' HTTP/' . $request->getProtocolVersion() . "\r\n" . $this->headers($request);
[83] Fix | Delete
break;
[84] Fix | Delete
case 'res_headers':
[85] Fix | Delete
$result = $response ? \sprintf('HTTP/%s %d %s', $response->getProtocolVersion(), $response->getStatusCode(), $response->getReasonPhrase()) . "\r\n" . $this->headers($response) : 'NULL';
[86] Fix | Delete
break;
[87] Fix | Delete
case 'req_body':
[88] Fix | Delete
$result = $request->getBody()->__toString();
[89] Fix | Delete
break;
[90] Fix | Delete
case 'res_body':
[91] Fix | Delete
if (!$response instanceof \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface) {
[92] Fix | Delete
$result = 'NULL';
[93] Fix | Delete
break;
[94] Fix | Delete
}
[95] Fix | Delete
$body = $response->getBody();
[96] Fix | Delete
if (!$body->isSeekable()) {
[97] Fix | Delete
$result = 'RESPONSE_NOT_LOGGEABLE';
[98] Fix | Delete
break;
[99] Fix | Delete
}
[100] Fix | Delete
$result = $response->getBody()->__toString();
[101] Fix | Delete
break;
[102] Fix | Delete
case 'ts':
[103] Fix | Delete
case 'date_iso_8601':
[104] Fix | Delete
$result = \gmdate('c');
[105] Fix | Delete
break;
[106] Fix | Delete
case 'date_common_log':
[107] Fix | Delete
$result = \date('d/M/Y:H:i:s O');
[108] Fix | Delete
break;
[109] Fix | Delete
case 'method':
[110] Fix | Delete
$result = $request->getMethod();
[111] Fix | Delete
break;
[112] Fix | Delete
case 'version':
[113] Fix | Delete
$result = $request->getProtocolVersion();
[114] Fix | Delete
break;
[115] Fix | Delete
case 'uri':
[116] Fix | Delete
case 'url':
[117] Fix | Delete
$result = $request->getUri()->__toString();
[118] Fix | Delete
break;
[119] Fix | Delete
case 'target':
[120] Fix | Delete
$result = $request->getRequestTarget();
[121] Fix | Delete
break;
[122] Fix | Delete
case 'req_version':
[123] Fix | Delete
$result = $request->getProtocolVersion();
[124] Fix | Delete
break;
[125] Fix | Delete
case 'res_version':
[126] Fix | Delete
$result = $response ? $response->getProtocolVersion() : 'NULL';
[127] Fix | Delete
break;
[128] Fix | Delete
case 'host':
[129] Fix | Delete
$result = $request->getHeaderLine('Host');
[130] Fix | Delete
break;
[131] Fix | Delete
case 'hostname':
[132] Fix | Delete
$result = \gethostname();
[133] Fix | Delete
break;
[134] Fix | Delete
case 'code':
[135] Fix | Delete
$result = $response ? $response->getStatusCode() : 'NULL';
[136] Fix | Delete
break;
[137] Fix | Delete
case 'phrase':
[138] Fix | Delete
$result = $response ? $response->getReasonPhrase() : 'NULL';
[139] Fix | Delete
break;
[140] Fix | Delete
case 'error':
[141] Fix | Delete
$result = $error ? $error->getMessage() : 'NULL';
[142] Fix | Delete
break;
[143] Fix | Delete
default:
[144] Fix | Delete
// handle prefixed dynamic headers
[145] Fix | Delete
if (\strpos($matches[1], 'req_header_') === 0) {
[146] Fix | Delete
$result = $request->getHeaderLine(\substr($matches[1], 11));
[147] Fix | Delete
} elseif (\strpos($matches[1], 'res_header_') === 0) {
[148] Fix | Delete
$result = $response ? $response->getHeaderLine(\substr($matches[1], 11)) : 'NULL';
[149] Fix | Delete
}
[150] Fix | Delete
}
[151] Fix | Delete
$cache[$matches[1]] = $result;
[152] Fix | Delete
return $result;
[153] Fix | Delete
}, $this->template);
[154] Fix | Delete
}
[155] Fix | Delete
/**
[156] Fix | Delete
* Get headers from message as string
[157] Fix | Delete
*/
[158] Fix | Delete
private function headers(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) : string
[159] Fix | Delete
{
[160] Fix | Delete
$result = '';
[161] Fix | Delete
foreach ($message->getHeaders() as $name => $values) {
[162] Fix | Delete
$result .= $name . ': ' . \implode(', ', $values) . "\r\n";
[163] Fix | Delete
}
[164] Fix | Delete
return \trim($result);
[165] Fix | Delete
}
[166] Fix | Delete
}
[167] Fix | Delete
[168] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function