5 use GuzzleHttp\Psr7\LazyOpenStream;
6 use GuzzleHttp\Psr7\ServerRequest;
7 use GuzzleHttp\Psr7\Uri;
25 parent::__construct( $params[
'cookiePrefix'] ??
'' );
31 return $_SERVER[
'REQUEST_METHOD'] ??
'GET';
35 if ( $this->uri ===
null ) {
44 if ( $this->protocol ===
null ) {
45 $serverProtocol = $_SERVER[
'SERVER_PROTOCOL'] ??
'';
46 $prefixLength = strlen(
'HTTP/' );
47 if ( strncmp( $serverProtocol,
'HTTP/', $prefixLength ) === 0 ) {
48 $this->protocol = substr( $serverProtocol, $prefixLength );
50 $this->protocol =
'1.1';
57 if ( function_exists(
'apache_request_headers' ) ) {
61 foreach ( $_SERVER as $name => $value ) {
62 if ( substr( $name, 0, 5 ) ===
'HTTP_' ) {
63 $name = strtolower( str_replace(
'_',
'-', substr( $name, 5 ) ) );
64 $headers[$name] = $value;
65 } elseif ( $name ===
'CONTENT_LENGTH' ) {
66 $headers[
'content-length'] = $value;
74 return new LazyOpenStream(
'php://input',
'r' );
92 if ( $this->uploadedFiles ===
null ) {
93 $this->uploadedFiles = ServerRequest::normalizeFiles( $_FILES );