null|callable $contents $previous->getCode() $previous->getCode() $code $code $code $code ! is_string($name) is_string($version) $new->headerNames[$normalized] $this->headerNames[strtolower($header)] $this->headerNames[strtolower($header)] $this->headerNames[strtolower($name)] $headerNames $stream $header $header $value $headers $new->headers $header $header $new->headerNames $new->headers $maxLength $maxLength $this->resource PhpInputStream $this->decoratedStream->getSize() $headers $method $protocolVersion $requestTarget $uri self::getValueFromKey($serializedRequest, 'body') $headers $method $protocolVersion $requestTarget $uri Request $body $headers $method $requestTarget $version $request->getHeaders() Request is_string($method) RequestInterface RequestInterface RequestInterface $requestTarget $this->uri->getPort() $uri->getPort() $uri === null ! is_numeric($code) gettype($code) is_float($code) is_string($reasonPhrase) static::MAX_STATUS_CODE_VALUE static::MIN_STATUS_CODE_VALUE (int) $code is_scalar($code) $headers $protocolVersion $reasonPhrase $statusCode self::getValueFromKey($serializedResponse, 'body') $headers $protocolVersion $reasonPhrase $statusCode new static(204, $headers) is_string($html) $item $hasContentType json_encode gettype($uri) is_object($uri) $body $headers $reasonPhrase $status $version $response->getHeaders() (int) $status is_string($text) is_string($xml) ! is_array($data) && ! is_object($data) && null !== $data $attribute $attribute $headers['cookie'] is_callable(self::$apacheRequestHeaders) ?int $stats['size'] $resource $resource $resource $this->resource $this->resource $this->resource $stream is_resource($resource) $file ! is_string($targetPath) $this->file $size ! is_numeric($port) is_float($port) is_object($port) is_string($fragment) is_string($host) is_string($path) is_string($query) is_string($scheme) is_string($user) null !== $password && ! is_string($password) $key $key $matches[0] $port $value $this->port (int) $port gettype($port) func_get_args() $spec['error'] $spec['name'] ?? null $spec['tmp_name'] $spec['type'] ?? null func_get_args() $headers[$name] $headers[$name] $value func_get_args() string $server['REQUEST_METHOD'] ?? 'GET' func_get_args() $server['SERVER_PROTOCOL'] func_get_args() $default $host $https function ($host) { function (string $name, array $headers, $default = null) { $getHeaderFromArray('x-forwarded-proto', $headers, '') $host $host $host $host $port $requestUri $server['QUERY_STRING'] $headers[$header] $host $host $iisUrlRewritten $origPathInfo $unencodedUrl $value array string $server['SERVER_ADDR'] $defaults $origPathInfo $unencodedUrl strrpos($host, ':') func_get_args() $apacheRequestHeaders['Authorization'] $apacheRequestHeaders['authorization'] $apacheRequestHeaders $server['HTTP_AUTHORIZATION'] $server['HTTP_AUTHORIZATION'] func_get_args() $normalized UploadedFileInterface[] $normalized[$key] $value $value array $cookieHeader func_get_args() function () { $callback $expected $callback $ret $ret array $assertion $expected $value $value $value assertValues getFilterValues testAssertValidRaisesExceptionForInvalidValue testFiltersValuesPerRfc7230 testValidatesValuesPerRfc7230 validateValues $value $value $stream->getSize() $value $value $value $version [ $value ] [ $value ] $message $test assertStreamContents getFileContents testCanReadStreamIteratively testCastingToStringReturnsFullContentsRegardlesOfPriorReads testGetContentsReturnCacheWhenReachedEof testGetContentsReturnsRemainingContentsOfStream testMultipleCastsToStringReturnSameContentsEvenIfReadsOccur testStreamIsNeverWritable $contents $message $content $contents assertSame testCanReadContentFromNotSeekableResource testClose testDetach testGetContents testGetContentsRaisesExceptionWhenPointerIsBehindOffset testGetMetadata testGetSize testIsReadable testIsSeekable testIsWritable testRead testReadRaisesExceptionWhenPointerIsBehindOffset testRewind testSeek testTell testToString testWrite testWriteRaisesExceptionWhenPointerIsBehindOffset testDeserializeFromArray testMissingBodyParamInSerializedRequestThrowsException testSerializeToArray function () use ($payload) { $exceptionMessage $expectations $expectations $line $line $line $message $requestTarget $requestTarget $text $exceptionMessage $message $text $payload[$i++] $expect $expect $i $method $method array array array array array $i $line $line $line 'UNLOCK' => ['UNLOCK'] ['TOTALLY INVALID'] $body $contains $expected $headers $hostKey $method $method $method $request $requestTarget $uri $value customRequestMethods headersWithInjectionVectors hostHeaderKeys invalidHeaderTypes invalidMethod invalidRequestBody invalidRequestMethod invalidRequestUri requestsWithUri testAllowsCustomRequestMethodsThatFollowSpec testCanProvideARequestTarget testConstructorCanAcceptAllMessageParts testConstructorRaisesExceptionForHeadersWithCRLFVectors testConstructorRaisesExceptionForInvalidBody testConstructorRaisesExceptionForInvalidHeaders testConstructorRaisesExceptionForInvalidMethod testConstructorRaisesExceptionForInvalidStream testConstructorRaisesExceptionForInvalidUri testDefaultStreamIsWritable testGetHeadersContainsHostHeaderIfUriWithHostIsDeleted testGetHeadersContainsHostHeaderIfUriWithHostIsPresent testGetHeadersContainsNoHostHeaderIfNoUriPresent testGetHeadersContainsNoHostHeaderIfUriDoesNotContainHost testGetHostHeaderLineReturnsEmptyStringIfNoUriPresent testGetHostHeaderLineReturnsEmptyStringIfUriDoesNotContainHost testGetHostHeaderLineReturnsUriHostWhenPresent testGetHostHeaderReturnsEmptyArrayIfNoUriPresent testGetHostHeaderReturnsEmptyArrayIfUriDoesNotContainHost testGetHostHeaderReturnsUriHostWhenHostHeaderDeleted testGetHostHeaderReturnsUriHostWhenPresent testHostHeaderNotSetFromUriOnCreationIfHostHeaderSpecified testHostHeaderSetFromUriOnCreationIfNoHostHeaderSpecified testHostHeaderUpdatesToUriHostAndPortWhenPreserveHostDisabledAndNonStandardPort testMethodIsGetByDefault testMethodMutatorReturnsCloneWithChangedMethod testNotPassingPreserveHostFlagWhenUpdatingUriWithoutHostDoesNotUpdateHostHeader testPassingPreserveHostFlagWhenUpdatingUriDoesNotUpdateHostHeader testRequestTargetCannotContainWhitespace testRequestTargetDoesNotCacheBetweenInstances testRequestTargetIsSlashWhenNoUriPresent testRequestTargetIsSlashWhenUriHasNoPathOrQuery testReturnsRequestTargetWhenUriIsPresent testReturnsUnpopulatedUriByDefault testSettingNewUriResetsRequestTarget testWithInvalidMethod testWithUriAndNoPreserveHostWillOverwriteHostHeaderRegardlessOfOriginalCase testWithUriReturnsNewInstanceWithNewUri validRequestTargets $body $contains $headers $hostKey $hostKey $method $method $method $requestTarget $uri getRequestTarget createResponse createSerializedResponse testDeserializeFromArray testMissingBodyParamInSerializedRequestThrowsException testSerializeToArray $response $response $serializedRequest $serializedResponse $serializedRequest['body'] $response $response $serializedRequest $serializedResponse testConstructor testHeaderConstructor $body invalidHtmlContent testAllowsStreamsForResponseBody testConstructorAcceptsHtmlString testConstructorAllowsPassingHeaders testConstructorAllowsPassingStatus testConstructorRewindsBodyStream testRaisesExceptionforNonStringNonStreamBodyContent $body $value $value scalarValuesForJSON testCanProvideAlternateContentTypeViaHeadersPassedToConstructor testCanProvideStatusCodeToConstructor testConstructorAcceptsDataAndCreatesJsonEncodedMessageBody testConstructorRewindsBodyStream testEncodingOptionsGetter testJsonErrorHandlingOfBadEmbeddedData testJsonErrorHandlingOfResources testModifyingThePayloadDoesntMutateResponseInstance testPayloadGetter testScalarValuePassedToConstructorJsonEncodesDirectly testUsesSaneDefaultJsonEncodingFlags testWithEncodingOptions testWithPayload valuesToJsonEncode $uri invalidUris testConstructorAcceptsStringUriAndProduces302ResponseWithLocationHeader testConstructorAcceptsUriInstanceAndProduces302ResponseWithLocationHeader testConstructorAllowsSpecifyingAlternateStatusCode testConstructorAllowsSpecifyingHeaders testConstructorRaisesExceptionOnInvalidUri $uri $exceptionMessage $message $text headersWithContinuationLines messagesWithInvalidHeaders testCanDeserializeBasicResponse testCanDeserializeResponseWithHeaderContinuations testCanDeserializeResponseWithMultipleHeadersOfSameName testCanDeserializeResponseWithoutBody testCanDeserializeResponseWithoutHeadersButContainingBody testCanDeserializeResponseWithoutHeadersOrBody testDeserializationRaisesExceptionForInvalidStatusLine testDeserializationRaisesExceptionForMalformedHeaders testDeserializeCorrectlyCastsStatusCodeToInteger testFromStreamThrowsExceptionWhenStreamIsNotReadable testFromStreamThrowsExceptionWhenStreamIsNotSeekable testOmitsReasonPhraseFromStatusLineIfEmpty testSerializesBasicResponse testSerializesMultipleHeadersCorrectly testSerializesResponseWithoutBodyCorrectly $exceptionMessage $message $text $body invalidContent testAllowsStreamsForResponseBody testConstructorAcceptsBodyAsString testConstructorAllowsPassingHeaders testConstructorAllowsPassingStatus testConstructorRewindsBodyStream testRaisesExceptionforNonStringNonStreamBodyContent $body $body invalidContent testAllowsStreamsForResponseBody testConstructorAcceptsBodyAsString testConstructorAllowsPassingHeaders testConstructorAllowsPassingStatus testConstructorRewindsBodyStream testRaisesExceptionforNonStringNonStreamBodyContent $body [ 'TOTALLY INVALID' ] $body $code $code $code $contains $headers $invalidReasonPhrase $reasonPhrase $value headersWithInjectionVectors ianaCodesReasonPhrasesProvider invalidHeaderTypes invalidReasonPhrases invalidResponseBody invalidStatusCodes testCanSetCustomReasonPhrase testCannotSetInvalidStatusCode testConstructorCanAcceptAllMessageParts testConstructorRaisesExceptionForHeadersWithCRLFVectors testConstructorRaisesExceptionForInvalidBody testConstructorRaisesExceptionForInvalidHeaders testConstructorRaisesExceptionForInvalidStream testCreateWithValidStatusCodes testReasonPhraseCanBeEmpty testReasonPhraseDefaultsAgainstIana testReasonPhraseDefaultsToStandards testStatusCodeIs200ByDefault testStatusCodeMutatorReturnsCloneWithChanges testWithStatusRaisesAnExceptionForNonStringReasonPhrases validStatusCodes $body $code $code $code $contains $headers $invalidReasonPhrase $responseCode assertIsInt $value $normalizedFiles['fooFiles'] $expected $protocol cookieHeaderValues marshalProtocolVersionProvider testCanCreateServerRequestViaFromGlobalsMethod testCookieHeaderVariations testCreateFromGlobalsShouldNotPreserveKeysWhenCreatedWithAnEmptyValue testCreateFromGlobalsShouldPreserveKeysWhenCreatedWithAZeroValue testFromGlobalsUsesCookieHeaderInsteadOfCookieSuperGlobal testFromGlobalsUsesCookieSuperGlobalWhenCookieHeaderIsNotSet testMarshalHostAndPortReturnsEmptyValuesIfNoHostHeaderAndNoServerName testMarshalHostAndPortReturnsServerAddrForHostIfPresentAndHostIsIpv6Address testMarshalHostAndPortReturnsServerNameForHostIfServerAddrPresentButHostIsNotIpv6Address testMarshalHostAndPortReturnsServerNameForHostWhenPresent testMarshalHostAndPortReturnsServerPortForPortWhenPresentWithServerName testMarshalHostAndPortUsesHostHeaderWhenPresent testMarshalHostAndPortWillDetectPortInHostHeaderWhenPresent testMarshalHostAndPortWillDetectPortInIpv6StyleHost testMarshalInvalidHeadersStrippedFromServerArray testMarshalProtocolReturnsDefaultValueIfHeaderIsNotPresent testMarshalProtocolVersionReturnsHttpVersions testMarshalProtocolVersionRisesExceptionIfVersionIsNotRecognized testMarshalRequestUriFallsBackToRoot testMarshalRequestUriPrefersRequestUriServerParamWhenXOriginalUrlButNoXRewriteUrlPresent testMarshalRequestUriStripsSchemeHostAndPortInformationWhenPresent testMarshalRequestUriUsesIISUnencodedUrlValueIfPresentAndUrlWasRewritten testMarshalRequestUriUsesOrigPathInfoIfPresent testMarshalUriDetectsHttpsSchemeFromServerValue testMarshalUriDetectsHttpsSchemeFromXForwardedProtoValue testMarshalUriInjectsFragmentFromServer testMarshalUriInjectsQueryStringFromServer testMarshalUriStripsQueryStringFromRequestUri testMarshalUriUsesHttpSchemeIfHttpsServerValueEqualsOff testMarshalsExpectedHeadersFromServerArray testMarshalsVariablesPrefixedByApacheFromServerArray testNormalizeFilesReturnsOnlyActualFilesWhenOriginalFilesContainsNestedAssociativeArrays testNormalizeServerReturnsArrayUnalteredIfApacheHeadersDoNotContainAuthorization testNormalizeServerUsesLowerCaseAuthorizationHeaderFromApacheWhenPresent testNormalizeServerUsesMixedCaseAuthorizationHeaderFromApacheWhenPresent testReturnsServerValueUnchangedIfHttpAuthorizationHeaderIsPresent testServerRequestFactoryHasAWritableEmptyBody $data $data $param array iterable $parsedBody $methodReturned $parameterMethod $request provideMethods testAllowsRemovingAttributeWithNullValue testAllowsRemovingNonExistentAttribute testAttributeMutatorReturnsCloneWithChanges testAttributesAreEmptyByDefault testCookieParamsAreAnEmptyArrayAtInitialization testCookiesAreEmptyByDefault testCookiesMutatorReturnsCloneWithChanges testNestedUploadedFiles testParsedBodyIsEmptyByDefault testParsedBodyIsNullAtInitialization testParsedBodyMutatorReturnsCloneWithChanges testQueryParamsAreAnEmptyArrayAtInitialization testQueryParamsAreEmptyByDefault testQueryParamsMutatorReturnsCloneWithChanges testRemovingAttributeReturnsCloneWithoutAttribute testServerParamsAreEmptyByDefault testSingleAttributesWhenEmptyByDefault testTryToAddInvalidUploadedFiles testUploadedFilesAreEmptyByDefault testUsesProvidedConstructorArguments $parameterMethod $new getAttribute withoutAttribute setMethods [' THIS WILL NOT WORK '] $fileShouldExist $fileShouldExist $flag $flag $mode $mode $resource $tmpnam findNonExistentTempName getResourceFor67 invalidResources provideDataForIsReadable provideDataForIsWritable testAttachWithInvalidStringResourceRaisesException testAttachWithNonStringNonResourceRaisesException testAttachWithResourceAttachesResource testAttachWithStringRepresentingResourceCreatesAndAttachesResource testCanInstantiateWithGDResource testCanInstantiateWithStreamIdentifier testCanInstantiteWithStreamResource testCanReadContentFromNotSeekableResource testCloseClosesResource testCloseDoesNothingAfterDetach testCloseUnsetsResource testDetachReturnsResource testEofReportsFalseWhenNotAtEndOfStream testEofReportsTrueWhenAtEndOfStream testEofReportsTrueWhenStreamIsDetached testGetContentsRisesExceptionIfStreamIsNotReadable testGetContentsShouldGetFullStreamContents testGetContentsShouldReturnStreamContentsFromCurrentPointer testGetMetadataReturnsAllMetadataWhenNoKeyPresent testGetMetadataReturnsDataForSpecifiedKey testGetMetadataReturnsNullIfNoDataExistsForKey testGetSizeReturnsStreamSize testIsReadableReturnsCorrectFlagForMode testIsReadableReturnsFalseIfStreamIsNotReadable testIsReadableReturnsFalseWhenStreamIsDetached testIsSeekableReturnsFalseForDetachedStreams testIsSeekableReturnsTrueForReadableStreams testIsWritableReturnsCorrectFlagForMode testIsWritableReturnsFalseIfStreamIsNotWritable testIsWritableReturnsFalseWhenStreamIsDetached testIsWritableReturnsTrueForWritableMemoryStream testPassingInvalidStreamResourceToConstructorRaisesException testRaisesExceptionOnAttachForNonStreamResources testRaisesExceptionOnConstructionForNonStreamResources testReadRaisesExceptionWhenStreamIsDetached testReadReturnsEmptyStringWhenAtEndOfFile testRewindResetsToStartOfStream testSeekAdvancesToGivenOffsetOfStream testSeekRaisesExceptionWhenStreamIsDetached testSizeReportsNullForPhpInputStreams testSizeReportsNullWhenNoResourcePresent testStringSerializationReturnsEmptyStringWhenStreamIsNotReadable testTellRaisesExceptionIfResourceIsDetached testTellReportsCurrentPositionInResource testToStringRetrievesFullContentsOfStream testWriteRaisesExceptionWhenStreamIsDetached testWriteRaisesExceptionWhenStreamIsNotWritable $mode $mode $resource $resource $resource $this->tmpnam $this->tmpnam $this->tmpnam $this->tmpnam $resource $resource $test push reset $path $status $status $status $status $streamOrFile $tmpFile errorConstantsAndMessages invalidErrorStatuses invalidMovePaths invalidStreams nonOkErrorStatus testCannotRetrieveStreamAfterMove testConstructorDoesNotRaiseExceptionForInvalidStreamWhenErrorStatusPresent testGetStreamRaisesExceptionWhenErrorStatusPresent testGetStreamRaisesExceptionWithAppropriateMessageWhenUploadErrorDetected testGetStreamReturnsOriginalStreamObject testGetStreamReturnsStreamForFile testGetStreamReturnsWrappedPhpStream testMoveCannotBeCalledMoreThanOnce testMoveRaisesExceptionForInvalidPath testMoveToCreatesStreamIfOnlyAFilenameWasProvided testMoveToRaisesExceptionWhenErrorStatusPresent testMoveToRaisesExceptionWithAppropriateMessageWhenUploadErrorDetected testMovesFileToDesignatedPath testRaisesExceptionOnInvalidErrorStatus testRaisesExceptionOnInvalidStreamOrFile testValidClientFilename testValidClientMediaType testValidNullClientFilename testValidSize $path $status $status $status $status $streamOrFile $this->tmpfile '3001' 1 $credential $expected $expected $expected $expected $method $method $path $port $port $port $query $query $query $result $result $scheme $scheme $scheme $url $url $url $user $value $value authorityInfo invalidPaths invalidPorts invalidQueryStrings invalidSchemes invalidStringComponentValues mutations queryStringsForEncoding standardSchemePortCombinations testAuthorityIsPrefixedByDoubleSlashIfPresent testAuthorityOmitsPortForStandardSchemePortCombinations testCanEmitOriginFormUrl testCanSerializeToString testConstructWithUnsupportedSchemeRaisesAnException testConstructorRaisesExceptionForSeriouslyMalformedURI testConstructorSetsAllProperties testESchemeStripsOffDelimiter testEmptyPathOnOriginFormRemainsAnEmptyPath testEncodeFragmentPrefixIfPresent testFragmentIsNotDoubleEncoded testFragmentIsProperlyEncoded testHostIsLowercase testHostIsLowercaseWhenIsSetViwWithHost testMutatingSchemeStripsOffDelimiter testMutatingWithUnsupportedSchemeRaisesAnException testMutationResetsUriStringPropertyInClone testPassingInvalidValueToWithMethodRaisesException testPathDoesNotBecomeDoubleEncoded testPathIsNotPrefixedWithSlashIfSetWithoutOne testPathIsProperlyEncoded testPathNotSlashPrefixedIsEmittedWithSlashDelimiterWhenUriIsCastToString testProperlyTrimsLeadingSlashesToPreventXSS testQueryIsNotDoubleEncoded testQueryIsProperlyEncoded testReservedCharsInPathUnencoded testRetrievingAuthorityReturnsExpectedValues testSettingEmptyPathOnAbsoluteUriReturnsAnEmptyPath testStringRepresentationOfAbsoluteUriWithNoPathSetsAnEmptyPath testStringRepresentationOfOriginFormWithNoPathRetainsEmptyPath testStripsQueryPrefixIfPresent testUriDistinguishZeroFromEmptyString testUriDoesNotAppendColonToHostIfPortIsEmpty testUtf8Path testUtf8Query testUtf8Uri testWithFragmentReturnsNewInstanceWithProvidedFragment testWithFragmentReturnsSameInstanceWithProvidedFragmentSameAsBefore testWithHostReturnsNewInstanceWithProvidedHost testWithHostReturnsSameInstanceWithProvidedHostIsSameAsBefore testWithPathRaisesExceptionForInvalidPaths testWithPathReturnsNewInstanceWithProvidedPath testWithPathReturnsSameInstanceWithProvidedPathSameAsBefore testWithPortRaisesExceptionForInvalidPorts testWithPortReturnsNewInstanceWithProvidedPort testWithPortReturnsSameInstanceWithProvidedPortIsSameAsBefore testWithQueryRaisesExceptionForInvalidQueryStrings testWithQueryReturnsNewInstanceWithProvidedQuery testWithSchemeReturnsNewInstanceWithNewScheme testWithSchemeReturnsSameInstanceWithSameScheme testWithUserInfoEncodesUsernameAndPassword testWithUserInfoReturnsNewInstanceWithProvidedUser testWithUserInfoReturnsNewInstanceWithProvidedUserAndPassword testWithUserInfoReturnsSameInstanceIfUserAndPasswordAreSameAsBefore testWithUserInfoThrowExceptionIfPasswordIsNotString userInfoProvider utf8PathsDataProvider utf8QueryStringsDataProvider validPorts $credential $expected $path $port $port $port $query $query $scheme $scheme $test $url $url $url $user $test $port $scheme array array testCreatesUploadedFileFromFlatFileSpecification testTraversesDenormalizedNestedTreeOfIndicesToExtractUploadedFiles testTraversesNestedFileSpecificationContainingNumericIndicesToExtractUploadedFiles testTraversesNestedFileSpecificationToExtractUploadedFile $normalised['my-form']['details']['avatars'] $normalised['slide-shows'][0]['slides'] $normalised['my-form']['details']['avatar'] $normalised['my-form']['details']['avatars'] $normalised['my-form']['details']['avatars'] $normalised['my-form']['details']['avatars'] $normalised['my-form']['details']['avatars'] $normalised['slide-shows'][0]['slides'] $normalised['slide-shows'][0]['slides'] $normalised['slide-shows'][0]['slides'] getClientFilename getClientFilename getClientFilename getClientFilename getClientFilename getClientFilename $normalised['my-form'] $normalised['my-form'] $normalised['my-form'] $normalised['my-form'] $normalised['my-form'] $normalised['slide-shows'] $normalised['slide-shows'] $normalised['slide-shows']