Download the PHP package chillerlan/php-http-message-utils without Composer

On this page you can find all versions of the php package chillerlan/php-http-message-utils. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package php-http-message-utils

chillerlan/php-http-message-utils

A collection of framework-agnostic utilities for use with PSR-7 Message implementations.

PHP Version Support version license Continuous Integration Coverage Codacy Packagist downloads

Documentation

Requirements

Installation

requires composer

composer.json (note: replace dev-main with a version boundary, e.g. ^2.2)

Profit!

Usage

URLExtractor

The URLExtractor wraps a PSR-18 ClientInterface to extract and follow shortened URLs to their original location.

EchoClient

The EchoClient returns a JSON representation the original message:

Which yields an object similar to the following

LoggingClient

The LoggingClient wraps a ClientInterface and outputs the HTTP messages in a readable way through a LoggerInterface (do NOT use in production!).

The output looks similar to the following (using monolog):

API

The following classes contain static methods for use with PSR-7 http message objects.

HeaderUtil

method return info
normalize(array $headers) array Normalizes an array of header lines to format ["Name" => "Value (, Value2, Value3, ...)", ...] An exception is being made for Set-Cookie, which holds an array of values for each cookie. For multiple cookies with the same name, only the last value will be kept.
trimValues(array $values) array Trims whitespace from the header values
normalizeHeaderName(string $name) string Normalizes a header name, e.g. "conTENT- lenGTh" -> "Content-Length"

QueryUtil

method return info
cleanParams(iterable $params, int $bool_cast = null, bool $remove_empty = true) array Cleans/normalizes an array of query parameters, booleans will be converted according to the given $bool_cast constant. By default, booleans will be left as-is (Query::BOOLEANS_AS_BOOL) and may result in empty values. If $remove_empty is set to true, empty non-boolean and null values will be removed from the array. The Query class provides the following constants for $bool_cast:
BOOLEANS_AS_BOOL: unchanged boolean value (default)
BOOLEANS_AS_INT: integer values 0 or 1
BOOLEANS_AS_STRING: "true"/"false" strings
BOOLEANS_AS_INT_STRING: "0"/"1" strings
build(array $params, int $encoding = null, string $delimiter = null, string $enclosure = null) string Builds a query string from an array of key value pairs, similar to http_build_query. Valid values for $encoding are PHP_QUERY_RFC3986 (default) and PHP_QUERY_RFC1738, any other integer value will be interpreted as "no encoding" (Query::NO_ENCODING).
merge(string $uri, array $query) string Merges additional query parameters into an existing query string.
parse(string $querystring, int $urlEncoding = null) array Parses a query string into an associative array, similar to parse_str (without the inconvenient usage of a by-reference result variable).
recursiveRawurlencode(mixed $data) array\|string Recursive rawurlencode

MessageUtil

method return info
getContents(MessageInterface $message) string Reads the body content of a MessageInterface and makes sure to rewind.
decodeJSON(MessageInterface $message, bool $assoc = false) mixed fetches the body of a MessageInterface and converts it to a JSON object (stdClass) or an associative array if $assoc is set to true and returns the result.
decodeXML(MessageInterface $message, bool $assoc = false) mixed fetches the body of a MessageInterface and converts it to a SimpleXMLElement or an associative array if $assoc is set to true and returns the result.
toString(MessageInterface $message, bool $appendBody = true) string Returns the string representation of an HTTP message.
toJSON(MessageInterface $message, bool $appendBody = true) string Returns the string representation of an HTTP message.
decompress(MessageInterface $message) string Decompresses the message content according to the Content-Encoding header (compress, deflate, gzip, br, zstd) and returns the decompressed data. br and zstd will throw a RuntimeException if the respecive extensions are missing.
setContentLengthHeader(MessageInterface $message) MessageInterface Sets a Content-Length header in the given message in case it does not exist and body size is not null
setContentTypeHeader(MessageInterface $message, string $filename = null, string $extension = null) MessageInterface Tries to determine the content type from the given values and sets the Content-Type header accordingly, throws if no mime type could be guessed.
setCookie(ResponseInterface $message, string $name, string $value = null, DateTimeInterface\|DateInterval\|int $expiry = null, string $domain = null, string $path = null, bool $secure = false, bool $httpOnly = false, string $sameSite = null) ResponseInterface Adds a Set-Cookie header to a ResponseInterface (convenience)
getCookiesFromHeader(MessageInterface $message) array\|null Attempts to extract and parse a cookie from a "Cookie" (user-agent) header

UriUtil

method return info
isDefaultPort(UriInterface $uri) bool Checks whether the UriInterface has a port set and if that port is one of the default ports for the given scheme.
isAbsolute(UriInterface $uri) bool Checks whether the URI is absolute, i.e. it has a scheme.
isNetworkPathReference(UriInterface $uri) bool Checks whether the URI is a network-path reference.
isAbsolutePathReference(UriInterface $uri) bool Checks whether the URI is a absolute-path reference.
isRelativePathReference(UriInterface $uri) bool Checks whether the URI is a relative-path reference.
withoutQueryValue(UriInterface $uri, string $key) UriInterface Removes a specific query string value. Any existing query string values that exactly match the provided $key are removed.
withQueryValue(UriInterface $uri, string $key, string $value = null) UriInterface Adds a specific query string value. Any existing query string values that exactly match the provided $key are removed and replaced with the given $key-$value pair. A value of null will set the query string key without a value, e.g. "key" instead of "key=value".
parseUrl(string $url) ?array UTF-8 aware \parse_url() replacement.

MimeTypeUtil

method return info
getFromExtension(string $extension) ?string Get the mime type for the given file extension (checks against the constant chillerlan\HTTP\Utils\MIMETYPES, a list of mime types from the apache default config)
getFromFilename(string $filename) ?string Get the mime type from a file name
getFromContent(string $content) ?string Get the mime type from the given content

StreamUtil

method return info
getContents(string $extension) string Reads the content from a stream and make sure we rewind
copyToStream(StreamInterface $source, StreamInterface $destination, int $maxLength = null) int Copies a stream to another stream, starting from the current position of the source stream, reading to the end or until the given maxlength is hit.
tryFopen(string $filename, string $mode, $context = null) resource Safely open a PHP resource, throws instead of raising warnings and errors
tryGetContents($stream, int $length = null, int $offset = -1) string Safely get the contents of a stream resource, throws instead of raising warnings and errors
validateMode(string $mode) string Checks if the given mode is valid for fopen()
modeAllowsReadWrite(string $mode) bool Checks whether the given mode allows reading and writing
modeAllowsReadOnly(string $mode) bool Checks whether the given mode allows only reading
modeAllowsWriteOnly(string $mode) bool Checks whether the given mode allows only writing
modeAllowsRead(string $mode) bool Checks whether the given mode allows reading
modeAllowsWrite(string $mode) bool Checks whether the given mode allows writing

ServerUtil

The ServerUtil object requires a set of PSR-17 factories on invocation, namely ServerRequestFactoryInterface, UriFactoryInterface, UploadedFileFactoryInterface and StreamFactoryInterface. It provides convenience methods to create server requests, URIs and uploaded files from the superglobals.

method return info
createServerRequestFromGlobals() ServerRequestInterface Returns a ServerRequest object populated from the superglobals $_GET, $_POST, $_COOKIE, $_FILES and $_SERVER.
createUriFromGlobals() UriInterface Creates an Uri populated with values from $_SERVER (HTTP_HOST, SERVER_NAME, SERVER_ADDR, SERVER_PORT, REQUEST_URI, QUERY_STRING).
normalizeFiles(array $files) UploadedFileInterface[] Returns an UploadedFile instance array.
createUploadedFileFromSpec(array $value) UploadedFileInterface or UploadedFileInterface[] Creates an UploadedFile instance from a $_FILES specification. If the specification represents an array of values, this method will delegate to normalizeNestedFileSpec() and return that return value.
normalizeNestedFileSpec(array $files):array array Normalizes an array of file specifications. Loops through all nested files and returns a normalized array of UploadedFileInterface instances.

Cookie

Implements a HTTP cookie

method return info
__construct(string $name, string $value = null) -
__toString() string returns the full cookie string to use in a Set-Cookie header
withNameAndValue(string $name, string $value) Cookie
withExpiry(DateTimeInterface\|DateInterval\|int\|null $expiry) Cookie
withDomain(string\|null $domain, bool $punycode = null) Cookie
withPath(string\|null $path) Cookie
withSecure(bool $secure) Cookie
withHttpOnly(bool $httpOnly) Cookie
withSameSite(string\|null $sameSite) Cookie

All versions of php-http-message-utils with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
ext-fileinfo Version *
ext-intl Version *
ext-json Version *
ext-mbstring Version *
ext-simplexml Version *
ext-zlib Version *
psr/http-client Version ^1.0
psr/http-factory Version ^1.1
psr/http-message Version ^1.1 || ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package chillerlan/php-http-message-utils contains the following files

Loading the files please wait ....