amphp/artax

Asynchronous parallel HTTP/1.1 client built on the Amp concurrency framework

Maintainers

Details

github.com/amphp/artax

Homepage

Source

Installs: 209 237

Dependents: 69

Suggesters: 8

Stars: 11

Watchers: 3

Forks: 2

v3.0.14 2018-02-01 20:29 UTC

README

Build Status CoverageStatus License

Artax is an asynchronous HTTP client for PHP based on Amp. Its API simplifies standards-compliant HTTP resource traversal and RESTful web service consumption without obscuring the underlying protocol. The library manually implements HTTP over TCP sockets; as such it has no dependency on ext/curl.

Features

  • Requests asynchronously for full single-threaded concurrency
  • Pools persistent keep-alive connections
  • Transparently follows redirects
  • Decodes gzipped entity bodies
  • Exposes headers and message data
  • Streams entity bodies for memory management with large transfers
  • Supports all standard and custom HTTP method verbs
  • Simplifies HTTP form submissions
  • Implements secure-by-default TLS (https://)
  • Supports cookies and sessions
  • Functions seamlessly behind HTTP proxies

Project Goals

  • Model all code as closely as possible to the relevant HTTP protocol RFCs
  • Implement an HTTP/1.1 client built on raw socket streams with no libcurl dependency

Installation

This package can be installed as a Composer dependency.

composer require amphp/artax

Documentation

Documentation is bundled within this repository in the docs directory.

Examples

More extensive code examples reside in the examples directory.

Versioning

amphp/artax follows the semver semantic versioning specification like all other amphp packages.

Version Bug Fixes Until Security Fixes Until
3.x Supported, no end date, yet. Supported, no end date, yet.
2.x Unmaintained. Unmaintained.
1.x Unmaintained. Unmaintained.

Security

If you discover any security related issues, please email me@kelunik.com instead of using the issue tracker.

License

The MIT License (MIT). Please see LICENSE for more information.