2017 © Pedro Peláez
 

library braintreehttp

image

braintree/braintreehttp

  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 13 Versions
  • 34 % Grown

The README.md

Braintree HttpClient Build Status

BraintreeHttp is a generic HTTP Client., (*1)

In it's simplest form, an HttpClient exposes an execute method which takes an HTTP request, executes it against the domain described in an Environment, and returns an HTTP response., (*2)

Environment

An Environment describes a domain that hosts a REST API, against which an HttpClient will make requests. Environment is a simple interface that wraps one method, baseUrl., (*3)

$env = new Environment('https://example.com');

Requests

HTTP requests contain all the information needed to make an HTTP request against the REST API. Specifically, one request describes a path, a verb, any path/query/form parameters, headers, attached files for upload, and body data., (*4)

Responses

HTTP responses contain information returned by a server in response to a request as described above. They are simple objects which contain a status code, headers, and any data returned by the server., (*5)

$request = new HttpRequest("/path", "GET");
$request->body[] = "some data";

$response = $client->execute($req);

$statusCode = $response->statusCode;
$headers = $response->headers;
$data = $response->result;

Injectors

Injectors are blocks that can be used for executing arbitrary pre-flight logic, such as modifying a request or logging data. Injectors are attached to an HttpClient using the addInjector method., (*6)

The HttpClient executes its injectors in a first-in, first-out order, before each request., (*7)

class LogInjector implements Injector
{
    public function inject($httpRequest)
    {
        // Do some logging here
    }
}

$logInjector = new LogInjector();
$client = new HttpClient($environment);
$client->addInjector($logInjector);
...

Error Handling

HttpClient#execute may throw an Exception if something went wrong during the course of execution. If the server returned a non-200 response, IOException will be thrown, that will contain a status code and headers you can use for debugging., (*8)

try
{
    $client->execute($req);
}
catch (HttpException $e)
{
    $statusCode = $e->response->statusCode;
    $headers = $e->response->headers;
    $body = $e->response->result;
}

License

BraintreeHttp-PHP is open source and available under the MIT license. See the LICENSE file for more information., (*9)

Contributing

Pull requests and issues are welcome. Please see CONTRIBUTING.md for more details., (*10)

The Versions

17/04 2018

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

17/04 2018

0.3.0

0.3.0.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

17/04 2018

dev-add-multipart-json

dev-add-multipart-json

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

16/04 2018

dev-dev-add-multipart-json

dev-dev-add-multipart-json

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

06/02 2018

0.2.4

0.2.4.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

06/02 2018

dev-100-continue

dev-100-continue

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

26/01 2018

0.2.3

0.2.3.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

31/10 2017

0.2.2

0.2.2.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

27/10 2017

0.2.1

0.2.1.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

18/10 2017

0.2.0

0.2.0.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

23/09 2017

0.1.1

0.1.1.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

21/09 2017

0.1.0

0.1.0.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires

13/09 2017

0.0.1

0.0.1.0

  Sources   Download

MIT

The Requires

  • ext-curl *

 

The Development Requires