|
9 | 9 |
|
10 | 10 | The socket client use the stream extension from PHP, which is integrated into the core. |
11 | 11 |
|
12 | | -## Install |
13 | | - |
14 | | -Via Composer |
15 | | - |
16 | | -``` bash |
17 | | -$ composer require php-http/socket-client |
18 | | -``` |
19 | | - |
20 | 12 | ## Features |
21 | 13 |
|
22 | 14 | * TCP Socket Domain (tcp://hostname:port) |
23 | 15 | * UNIX Socket Domain (unix:///path/to/socket.sock) |
24 | 16 | * TLS / SSL Encyrption |
25 | 17 | * Client Certificate (only for php > 5.6) |
26 | 18 |
|
| 19 | +## Installation and Usage |
27 | 20 |
|
28 | | -## Usage |
29 | | - |
30 | | -The SocketHttpClient class need a [message factory](https://github.com/php-http/message-factory) in order to work: |
31 | | - |
32 | | -```php |
33 | | -$options = []; |
34 | | -$client = new new Http\Socket\SocketHttpClient($messageFactory, $options); |
35 | | -``` |
36 | | - |
37 | | -The `$options` array allow to configure the socket client. |
38 | | - |
39 | | - |
40 | | -## Options |
41 | | - |
42 | | -Here is the list of available options: |
43 | | - |
44 | | - * remote_socket: Specify the remote socket where the library should send the request to |
45 | | - |
46 | | - Can be a tcp remote : tcp://hostname:port |
47 | | - |
48 | | - Can be a unix remote : unix://hostname:port |
49 | | - |
50 | | - Do not use a tls / ssl scheme, this is handle by the ssl option. |
51 | | - |
52 | | - If not set, the client will try to determine it from the request uri or host header. |
53 | | - |
54 | | - * timeout : Timeout in __milliseconds__ for writing request and reading response on the remote |
55 | | - * ssl : Activate or deactivate the ssl / tls encryption |
56 | | - * stream_context_options : Custom options for the context of the stream, same as [PHP stream context options](http://php.net/manual/en/context.php) |
57 | | - |
58 | | - As an example someone may want to pass a client certificate when using the ssl, a valid configuration for this |
59 | | - use case would be: |
60 | | - |
61 | | - ```php |
62 | | - $options = [ |
63 | | - 'stream_context_options' => [ |
64 | | - 'ssl' => [ |
65 | | - 'local_cert' => '/path/to/my/client-certificate.pem' |
66 | | - ] |
67 | | - ] |
68 | | - ] |
69 | | - $client = new Http\Socket\SocketHttpClient($messageFactory, $options); |
70 | | - ``` |
71 | | - |
72 | | - * 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) |
73 | | - * write_buffer_size : When sending the request we need to bufferize the body, this option specify the size of this buffer, default is 8192, |
74 | | - if you are sending big file with your client it may be interesting to have a bigger value in order to increase performance. |
75 | | - |
| 21 | +[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) |
76 | 22 |
|
77 | 23 | ## Testing |
78 | 24 |
|
|
0 commit comments