Skip to content

Commit

Permalink
Update Readme with a link to the socket client documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
joelwurtz committed Jul 25, 2016
1 parent 581e6dd commit 8207227
Showing 1 changed file with 2 additions and 56 deletions.
58 changes: 2 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,70 +9,16 @@

The socket client use the stream extension from PHP, which is integrated into the core.

## Install

Via Composer

``` bash
$ composer require php-http/socket-client
```

## Features

* TCP Socket Domain (tcp://hostname:port)
* UNIX Socket Domain (unix:///path/to/socket.sock)
* TLS / SSL Encyrption
* Client Certificate (only for php > 5.6)

## Installation and Usage

## Usage

The SocketHttpClient class need a [message factory](https://github.com/php-http/message-factory) in order to work:

```php
$options = [];
$client = new new Http\Socket\SocketHttpClient($messageFactory, $options);
```

The `$options` array allow to configure the socket client.


## Options

Here is the list of available options:

* remote_socket: Specify the remote socket where the library should send the request to

Can be a tcp remote : tcp://hostname:port

Can be a unix remote : unix://hostname:port

Do not use a tls / ssl scheme, this is handle by the ssl option.

If not set, the client will try to determine it from the request uri or host header.

* timeout : Timeout in __milliseconds__ for writing request and reading response on the remote
* ssl : Activate or deactivate the ssl / tls encryption
* stream_context_options : Custom options for the context of the stream, same as [PHP stream context options](http://php.net/manual/en/context.php)

As an example someone may want to pass a client certificate when using the ssl, a valid configuration for this
use case would be:

```php
$options = [
'stream_context_options' => [
'ssl' => [
'local_cert' => '/path/to/my/client-certificate.pem'
]
]
]
$client = new Http\Socket\SocketHttpClient($messageFactory, $options);
```

* stream_context_params : Custom parameters for the context of the stream, same as [PHP stream context parameters](http://php.net/manual/en/context.params.php)
* write_buffer_size : When sending the request we need to bufferize the body, this option specify the size of this buffer, default is 8192,
if you are sending big file with your client it may be interesting to have a bigger value in order to increase performance.

[Read the documentation at http://docs.php-http.org/en/latest/clients/socket-client.html](http://docs.php-http.org/en/latest/clients/socket-client.html)

## Testing

Expand Down

0 comments on commit 8207227

Please sign in to comment.