http-method
http-method copied to clipboard
📟 Provides a composer package with constants for HTTP request methods.
http-method
Provides constants for HTTP request methods, inspired by teapot/status-code
.
Motivation
Several PHP frameworks and libraries come with their own abstractions of HTTP request and response objects. Some of them provide constants for
- HTTP request method names
- HTTP response status codes
so that a developer can refer to these by using named constants instead of magic numbers or magic strings.
Here are a few examples of HTTP request abstractions which provide constants for HTTP request methods:
Here are a few examples of HTTP response abstractions which provide constants for HTTP response status codes:
Here are a few examples of interfaces providing constants for HTTP request methods and HTTP response status codes:
However, a developer might use an abstraction that either does not provide any constants at all, or only provides a subset of the constants required for the specific case.
The excellent library teapot/status-code
already provides HTTP status codes that are standardized by RFCs, as well as a range of vendor-specific HTTP status codes.
In a similar fashion, this library here aims to provide a collection of interfaces with constants for HTTP request methods that are standardized by RFCs, as well as additional vendor-specific HTTP request methods.
Installation
Run
$ composer require ergebnis/http-method
Usage
The interface Ergebnis\Http\Method
provides constants for all of the HTTP request methods that are standardized by
namely
-
CONNECT
-
DELETE
-
GET
-
HEAD
-
OPTIONS
-
PATCH
-
POST
-
PUT
-
TRACE
The interface Ergebnis\Http\Method\WebDav
provides constants for all of the HTTP request methods that are standardized by
namely
-
ACL
-
BIND
-
CONNECT
-
COPY
-
DELETE
-
GET
-
HEAD
-
LOCK
-
MKCALENDAR
-
MKCOL
-
MKREDIRECTREF
-
MOVE
-
OPTIONS
-
ORDERPATCH
-
PATCH
-
POST
-
PROPFIND
-
PROPPATCH
-
PUT
-
REBIND
-
SEARCH
-
TRACE
-
UNBIND
-
UNLOCK
-
UPDATEREDIRECTREF
The interface Ergebnis\Http\Method\Vendor\SquidCache
provides constants for a suggest HTTP request method used for purging items from the cache,
namely
-
PURGE
The interface Ergebnis\Http\Method\Vendor\VarnishCache
provides constants for a suggest HTTP request method used for invalidating and purging items from the cache, namely
-
BAN
-
PURGE
To use these constants, import the interfaces and refer to the constants instead of using magic strings:
<?php
use Ergebnis\Http\Method;
use Psr\Http\Client;
use Psr\Http\Message;
/** @var Message\RequestFactoryInterface $requestFactory */
$request = $requestFactory->create(
Method::GET,
'https://localheinz.com/blog'
);
/** @var Client\ClientInterface $httpClient */
$httpClient->sendRequest($request);
:bulb: If you are aware of any other - either standardized or vendor-specific - HTTP methods that are used in the wild, please let me know!
Changelog
Please have a look at CHANGELOG.md
.
Contributing
Please have a look at CONTRIBUTING.md
.
Code of Conduct
Please have a look at CODE_OF_CONDUCT.md
.
License
This package is licensed using the MIT License.
Please have a look at LICENSE.md
.
Curious what I am building?
:mailbox_with_mail: Subscribe to my list, and I will occasionally send you an email to let you know what I am working on.