Contributte HTTP

Content

Setup

composer require contributte/http
1

Curl

There is a prepared simple cURL client in this package.

You have to register it at first.

extensions:
    curl: Contributte\Http\DI\CurlExtension
1
2

Extension registers Contributte\Http\Curl\CurlClient as a service.

SAPI

Every modern PHP application needs sometimes to run a few console commands. Let's say sending newsletter campaigns. There is a tiny problem, there is no request/URL in console/SAPI (Server API) mode. Don't worry, just use our fake request - SapiRequestExtension.

extensions:
    sapi: Contributte\Http\DI\SapiRequestExtension
1
2

List of all options:

sapi:
    url: https://contributte.org
    # other params
    query: null
    post: null
    files: null
    cookies: null
    headers: null
    method: null
    remoteAddress: null
    remoteHost: null
    rawBodyCallback: null
1
2
3
4
5
6
7
8
9
10
11
12

Basic Authentication

extensions:
    auth: Contributte\Http\DI\BasicAuthExtension
1
2

You have to enable this extension by yourself. It's disabled by default.

auth:
    enabled: true/false
    title: My security zone
    users:
      username1:
        password: password1
        unsecured: true
      username2:
        password: $2y$10$p.U5q.BuQp02srggig.VDOqj5m7pE1rCwKavVQ3S2TrqWlkqu3qlC
        unsecured: false # secured by default
      username3:
        password: $2y$10$bgievYVQMzsRn5Ysup.NKOVUk66aitAniAmts2EJAa91eqkAhohvC
1
2
3
4
5
6
7
8
9
10
11
12

Useful classes

Url

Few methods added:

$url->appendPath($path)

use Contributte\Http\Url;

$url = new Url('https://github.com');

$url->appendPath('foo');
# https://github.com/foo

$url->appendPath('bar');
# https://github.com/foobar
1
2
3
4
5
6
7
8
9