| Lucent\Http\Message\RequestContext::matchesType | 78.50 | 37.5% |
| Lucent\Http\Message\ServerRequest::createUploadedFile | 72 | 0.0% |
| Lucent\Http\Client\Client::validateOptions | 68.06 | 56.0% |
| Lucent\Http\HttpStatus::title | 42 | 0.0% |
| Lucent\Http\EventStream\EventStream::stream | 30.94 | 35.3% |
| Lucent\Http\Client\Client::validateConfig | 30.46 | 81.2% |
| Lucent\Http\Message\ServerRequest::getParsedBodyValue | 30 | 0.0% |
| Lucent\Http\Message\UploadedFile::getStream | 30 | 0.0% |
| Lucent\Http\Client\Handler\CurlHandler::send | 20.13 | 93.1% |
| Lucent\Http\Message\UploadedFile::moveFile | 20 | 0.0% |
| Lucent\Http\Message\Stream::seek | 18.17 | 65.0% |
| Lucent\Http\Message\Uri::isValid | 16.30 | 89.5% |
| Lucent\Http\HttpRouter::registerRoute | 12 | 0.0% |
| Lucent\Http\Message\ServerRequest::getUploadedFile | 12 | 0.0% |
| Lucent\Http\Client\Handler\StreamHandler::drain | 11.62 | 46.2% |
| Lucent\Http\Message\UriResolver::removeDotSegments | 11.19 | 88.5% |
| Lucent\Http\Client\Handler\StreamHandler::buildContext | 11 | 97.1% |
| Lucent\Http\Message\Uri::fromServer | 10.14 | 88.9% |
| Lucent\Http\Message\Uri::__toString | 10.02 | 94.1% |
| Lucent\Http\Message\ServerRequest::create | 10 | 100.0% |
| Lucent\Http\Message\ServerRequest::normalizeUploadedFiles | 9.66 | 42.9% |
| Lucent\Http\Message\ServerRequest::capture | 9.49 | 71.4% |
| Lucent\Http\Message\UploadedFile::moveTo | 9.21 | 73.3% |
| Lucent\Http\Message\Stream::getSize | 9.06 | 45.5% |
| Lucent\Http\Message\AbstractMessage::assertHeaderName | 8.12 | 50.0% |
| Lucent\Http\Message\UploadedFile::__construct | 8.09 | 88.9% |
| Lucent\Http\Client\Client::sendRequest | 8 | 100.0% |
| Lucent\Http\Message\Stream::tell | 7.91 | 37.5% |
| Lucent\Http\Message\ServerRequest::extractHeaders | 7.03 | 91.7% |
| Lucent\Http\Message\Stream\IteratorStream::read | 7 | 100.0% |
| Lucent\Http\Message\Stream::read | 6.84 | 71.4% |
| Lucent\Http\Message\UploadedFile::moveStream | 6.35 | 78.6% |
| Lucent\Http\Client\Client::assertSafeHeaders | 6.29 | 80.0% |
| Lucent\Http\EventStream\Event::toSSE | 6.29 | 80.0% |
| Lucent\Http\Client\Handler\StreamHandler::normalizeHeaders | 6.07 | 87.5% |
| Lucent\Http\HttpStatus::message | 6 | 100.0% |
| Lucent\Http\Message\ServerRequest::getContext | 6 | 0.0% |
| Lucent\Http\Message\ServerRequest::getQueryParam | 6 | 0.0% |
| Lucent\Http\Message\ServerRequest::getCookie | 6 | 0.0% |
| Lucent\Http\Message\ServerRequest::getServerParam | 6 | 0.0% |
| Lucent\Http\Message\Stream::getMetadata | 6.00 | 50.0% |
| Lucent\Http\Message\Uri::fromString | 6 | 100.0% |
| Lucent\Http\Message\UriResolver::resolve | 6 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::getOutput | 6 | 100.0% |
| Lucent\Http\Message\AbstractMessage::assertHeaderValue | 5.93 | 66.7% |
| Lucent\Http\Message\Stream::write | 5.51 | 72.7% |
| Lucent\Http\Message\Stream::getContents | 5.39 | 75.0% |
| Lucent\Http\Message\Response::json | 5.09 | 84.6% |
| Lucent\Http\Message\Request::withUri | 5 | 100.0% |
| Lucent\Http\Message\ServerRequest::withUri | 5 | 100.0% |
| Lucent\Http\Message\Stream::isWritableMode | 5 | 100.0% |
| Lucent\Http\Message\Uri::filterPort | 5 | 100.0% |
| Lucent\Http\Message\Request::getRequestTarget | 4.37 | 71.4% |
| Lucent\Http\Message\Stream::__toString | 4.37 | 71.4% |
| Lucent\Http\Message\UriResolver::mergePaths | 4.37 | 71.4% |
| Lucent\Http\Exceptions\Exceptions::matches | 4.25 | 75.0% |
| Lucent\Http\Message\Factory\HttpFactory::createStreamFromFile | 4.12 | 50.0% |
| Lucent\Http\HttpRouter::loadRoutes | 4.06 | 84.6% |
| Lucent\Http\Message\ServerRequest::getRequestTarget | 4.05 | 85.7% |
| Lucent\Http\Message\Stream\IteratorStream::getContents | 4.02 | 90.0% |
| Lucent\Http\Client\Client::sendWithBody | 4 | 100.0% |
| Lucent\Http\Client\Handler\StreamHandler::send | 4 | 100.0% |
| Lucent\Http\Client\Handler\StreamHandler::parseHeaders | 4 | 100.0% |
| Lucent\Http\Exceptions\Exceptions::renderException | 4 | 100.0% |
| Lucent\Http\Message\Response::withStatus | 4 | 100.0% |
| Lucent\Http\Message\ServerRequest::assertUploadedFilesTree | 4 | 100.0% |
| Lucent\Http\Message\ServerRequest::withParsedBody | 4 | 100.0% |
| Lucent\Http\Message\Uri::getAuthority | 4 | 100.0% |
| Lucent\Http\Message\Uri::withPort | 4 | 100.0% |
| Lucent\Http\Message\Uri::isValidHost | 4 | 100.0% |
| Lucent\Http\Client\Client::head | 3.58 | 60.0% |
| Lucent\Http\Message\Factory\HttpFactory::createStreamFromResource | 3.33 | 66.7% |
| Lucent\Http\Message\ServerRequest::withMethod | 3.07 | 80.0% |
| Lucent\Http\Message\Stream::eof | 3.07 | 80.0% |
| Lucent\Http\Message\Factory\HttpFactory::createStream | 3.03 | 85.7% |
| Lucent\Http\Client\Client::__construct | 3.00 | 92.9% |
| Lucent\Http\Client\Client::get | 3 | 100.0% |
| Lucent\Http\Client\Handler\CurlHandler::validateOptions | 3 | 100.0% |
| Lucent\Http\Client\Handler\CurlHandler::assertNoConflictingCurlOptions | 3 | 100.0% |
| Lucent\Http\Client\Handler\StreamHandler::validateOptions | 3 | 100.0% |
| Lucent\Http\Exceptions\Exceptions::reportException | 3 | 100.0% |
| Lucent\Http\Exceptions\ModelBindingException::__construct | 3 | 100.0% |
| Lucent\Http\Message\AbstractMessage::withHeader | 3 | 100.0% |
| Lucent\Http\Message\AbstractMessage::withAddedHeader | 3 | 100.0% |
| Lucent\Http\Message\AbstractMessage::withHeaderInternal | 3 | 100.0% |
| Lucent\Http\Message\Request::__construct | 3 | 100.0% |
| Lucent\Http\Message\Request::assertValidMethod | 3 | 100.0% |
| Lucent\Http\Message\RequestContext::requireTyped | 3 | 100.0% |
| Lucent\Http\Message\Response::withStream | 3 | 100.0% |
| Lucent\Http\Message\ServerRequest::__construct | 3 | 100.0% |
| Lucent\Http\Message\Stream::close | 3 | 100.0% |
| Lucent\Http\Message\Uri::withScheme | 3 | 100.0% |
| Lucent\Http\Message\Uri::withUserInfo | 3 | 100.0% |
| Lucent\Http\Message\Uri::withHost | 3 | 100.0% |
| Lucent\Http\Message\Uri::encodeComponent | 3 | 100.0% |
| Lucent\Http\EventStream\EventStream::signal | 2.15 | 66.7% |
| Lucent\Http\Message\Stream\IteratorStream::__construct | 2.15 | 66.7% |
| Lucent\Http\Message\Stream\IteratorStream::getMetadata | 2.15 | 66.7% |
| Lucent\Http\Message\Stream\LazyStream::getMetadata | 2.15 | 66.7% |
| Lucent\Http\Message\UriResolver::removeLastSegment | 2.06 | 75.0% |
| Lucent\Http\Message\Response::withJsonBody | 2.03 | 80.0% |
| Lucent\Http\Message\AbstractMessage::withoutHeader | 2.01 | 87.5% |
| Lucent\Http\RouteInfo::getControllerName | 2 | 0.0% |
| Lucent\Http\Attributes\ApiEndpoint::getUrlParameters | 2 | 0.0% |
| Lucent\Http\Client\Client::defaultUserAgent | 2 | 100.0% |
| Lucent\Http\Client\Handler\CurlHandler::createException | 2.00 | 92.3% |
| Lucent\Http\EventStream\Event::output | 2 | 0.0% |
| Lucent\Http\EventStream\Event::error | 2 | 0.0% |
| Lucent\Http\EventStream\Event::progress | 2 | 0.0% |
| Lucent\Http\EventStream\Event::complete | 2 | 0.0% |
| Lucent\Http\EventStream\EventStream::__construct | 2 | 100.0% |
| Lucent\Http\EventStream\EventStream::push | 2 | 100.0% |
| Lucent\Http\Exceptions\HttpException::__construct | 2 | 100.0% |
| Lucent\Http\Message\AbstractMessage::getHeader | 2 | 100.0% |
| Lucent\Http\Message\AbstractMessage::getHeaderLine | 2 | 100.0% |
| Lucent\Http\Message\AbstractMessage::getBody | 2 | 100.0% |
| Lucent\Http\Message\AbstractMessage::setHeaders | 2 | 100.0% |
| Lucent\Http\Message\Request::withRequestTarget | 2 | 0.0% |
| Lucent\Http\Message\RequestContext::fromRequest | 2 | 100.0% |
| Lucent\Http\Message\RequestContext::get | 2 | 100.0% |
| Lucent\Http\Message\RequestContext::getTyped | 2 | 100.0% |
| Lucent\Http\Message\Response::withJsonEnvelope | 2 | 100.0% |
| Lucent\Http\Message\Response::withRedirect | 2 | 100.0% |
| Lucent\Http\Message\ServerRequest::getAttributes | 2 | 0.0% |
| Lucent\Http\Message\ServerRequest::getAttribute | 2 | 100.0% |
| Lucent\Http\Message\ServerRequest::getUrlVars | 2 | 0.0% |
| Lucent\Http\Message\ServerRequest::getUrlVar | 2 | 0.0% |
| Lucent\Http\Message\ServerRequest::withContext | 2 | 0.0% |
| Lucent\Http\Message\ServerRequest::withProtocolVersionInternal | 2 | 0.0% |
| Lucent\Http\Message\Stream::fromResource | 2 | 100.0% |
| Lucent\Http\Message\Stream::isReadableMode | 2 | 100.0% |
| Lucent\Http\Message\Uri::assertNoControlChars | 2 | 100.0% |
| Lucent\Http\Message\Factory\HttpFactory::createRequest | 2 | 100.0% |
| Lucent\Http\Message\Factory\HttpFactory::createServerRequest | 2 | 100.0% |
| Lucent\Http\Message\Factory\HttpFactory::createUploadedFile | 2 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::__toString | 2 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::eof | 2 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::seek | 2 | 0.0% |
| Lucent\Http\Message\Stream\IteratorStream::rewind | 2 | 0.0% |
| Lucent\Http\Message\Stream\IteratorStream::write | 2 | 0.0% |
| Lucent\Http\Message\Stream\LazyStream::__toString | 2 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::getSize | 2 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::tell | 2 | 0.0% |
| Lucent\Http\Message\Stream\LazyStream::seek | 2 | 0.0% |
| Lucent\Http\Message\Stream\LazyStream::rewind | 2 | 0.0% |
| Lucent\Http\Message\Stream\LazyStream::write | 2 | 0.0% |
| Lucent\Http\Middleware\MiddlewarePipeline::handle | 2 | 100.0% |
| Lucent\Http\HttpStatus::fromCode | 1 | 100.0% |
| Lucent\Http\RouteInfo::__construct | 1 | 100.0% |
| Lucent\Http\Attributes\ApiEndpoint::__construct | 1 | 100.0% |
| Lucent\Http\Attributes\ApiResponse::__construct | 1 | 100.0% |
| Lucent\Http\Client\Client::post | 1 | 100.0% |
| Lucent\Http\Client\Client::put | 1 | 100.0% |
| Lucent\Http\Client\Client::patch | 1 | 100.0% |
| Lucent\Http\Client\Client::delete | 1 | 100.0% |
| Lucent\Http\Client\Exception\NetworkException::__construct | 1 | 100.0% |
| Lucent\Http\Client\Exception\NetworkException::getRequest | 1 | 100.0% |
| Lucent\Http\Client\Exception\RequestException::__construct | 1 | 100.0% |
| Lucent\Http\Client\Exception\RequestException::getRequest | 1 | 100.0% |
| Lucent\Http\EventStream\Event::__construct | 1 | 100.0% |
| Lucent\Http\EventStream\Event::data | 1 | 100.0% |
| Lucent\Http\EventStream\EventStream::close | 1 | 100.0% |
| Lucent\Http\EventStream\EventStream::response | 1 | 100.0% |
| Lucent\Http\Exceptions\Exceptions::report | 1 | 100.0% |
| Lucent\Http\Exceptions\Exceptions::render | 1 | 100.0% |
| Lucent\Http\Exceptions\ExceptionsServiceProvider::register | 1 | 100.0% |
| Lucent\Http\Exceptions\ExceptionsServiceProvider::provides | 1 | 100.0% |
| Lucent\Http\Exceptions\HttpException::getStatus | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::__construct | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::getProtocolVersion | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::withProtocolVersion | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::getHeaders | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::hasHeader | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::withBody | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::setBody | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::normalizeHeaderName | 1 | 100.0% |
| Lucent\Http\Message\AbstractMessage::sanitizeHeaderValue | 1 | 100.0% |
| Lucent\Http\Message\Request::getMethod | 1 | 100.0% |
| Lucent\Http\Message\Request::withMethod | 1 | 100.0% |
| Lucent\Http\Message\Request::getUri | 1 | 100.0% |
| Lucent\Http\Message\RequestContext::set | 1 | 100.0% |
| Lucent\Http\Message\RequestContext::has | 1 | 100.0% |
| Lucent\Http\Message\RequestContext::all | 1 | 100.0% |
| Lucent\Http\Message\Response::__construct | 1 | 100.0% |
| Lucent\Http\Message\Response::getStatusCode | 1 | 100.0% |
| Lucent\Http\Message\Response::getReasonPhrase | 1 | 100.0% |
| Lucent\Http\Message\Response::withEventStream | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::withRequestTarget | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::getMethod | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::getUri | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::getServerParams | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::getCookieParams | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::withCookieParams | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::getQueryParams | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::withQueryParams | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::getUploadedFiles | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::withUploadedFiles | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::getParsedBody | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::withAttribute | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::withoutAttribute | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::getRouteInfo | 1 | 100.0% |
| Lucent\Http\Message\ServerRequest::validate | 1 | 100.0% |
| Lucent\Http\Message\Stream::__construct | 1 | 100.0% |
| Lucent\Http\Message\Stream::fromString | 1 | 100.0% |
| Lucent\Http\Message\Stream::__destruct | 1 | 100.0% |
| Lucent\Http\Message\Stream::detach | 1 | 100.0% |
| Lucent\Http\Message\Stream::isSeekable | 1 | 100.0% |
| Lucent\Http\Message\Stream::rewind | 1 | 100.0% |
| Lucent\Http\Message\Stream::isWritable | 1 | 100.0% |
| Lucent\Http\Message\Stream::isReadable | 1 | 100.0% |
| Lucent\Http\Message\UploadedFile::getSize | 1 | 100.0% |
| Lucent\Http\Message\UploadedFile::getError | 1 | 100.0% |
| Lucent\Http\Message\UploadedFile::getClientFilename | 1 | 100.0% |
| Lucent\Http\Message\UploadedFile::getClientMediaType | 1 | 100.0% |
| Lucent\Http\Message\Uri::__construct | 1 | 100.0% |
| Lucent\Http\Message\Uri::getScheme | 1 | 100.0% |
| Lucent\Http\Message\Uri::getUserInfo | 1 | 100.0% |
| Lucent\Http\Message\Uri::getHost | 1 | 100.0% |
| Lucent\Http\Message\Uri::getPort | 1 | 100.0% |
| Lucent\Http\Message\Uri::getPath | 1 | 100.0% |
| Lucent\Http\Message\Uri::getQuery | 1 | 100.0% |
| Lucent\Http\Message\Uri::getFragment | 1 | 100.0% |
| Lucent\Http\Message\Uri::withPath | 1 | 100.0% |
| Lucent\Http\Message\Uri::withQuery | 1 | 100.0% |
| Lucent\Http\Message\Uri::withFragment | 1 | 100.0% |
| Lucent\Http\Message\Uri::encodePath | 1 | 100.0% |
| Lucent\Http\Message\Uri::encodeQueryOrFragment | 1 | 100.0% |
| Lucent\Http\Message\Factory\HttpFactory::createResponse | 1 | 100.0% |
| Lucent\Http\Message\Factory\HttpFactory::createUri | 1 | 100.0% |
| Lucent\Http\Message\Factory\LucentResponseFactory::createJsonResponse | 1 | 100.0% |
| Lucent\Http\Message\Factory\LucentResponseFactory::createJsonEnvelopeResponse | 1 | 100.0% |
| Lucent\Http\Message\Factory\LucentResponseFactory::createRedirectResponse | 1 | 100.0% |
| Lucent\Http\Message\Factory\LucentResponseFactory::createEventStreamResponse | 1 | 100.0% |
| Lucent\Http\Message\Factory\LucentResponseFactory::createStreamResponse | 1 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::close | 1 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::detach | 1 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::getSize | 1 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::tell | 1 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::isSeekable | 1 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::isWritable | 1 | 100.0% |
| Lucent\Http\Message\Stream\IteratorStream::isReadable | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::__construct | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::close | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::detach | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::eof | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::isSeekable | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::isWritable | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::isReadable | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::read | 1 | 100.0% |
| Lucent\Http\Message\Stream\LazyStream::getContents | 1 | 100.0% |
| Lucent\Http\Middleware\CallbackRequestHandler::__construct | 1 | 100.0% |
| Lucent\Http\Middleware\CallbackRequestHandler::handle | 1 | 100.0% |
| Lucent\Http\Middleware\MiddlewarePipeline::__construct | 1 | 100.0% |