Download the PHP package fanout/gripcontrol without Composer
On this page you can find all versions of the php package fanout/gripcontrol. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fanout/gripcontrol
More information about fanout/gripcontrol
Files in fanout/gripcontrol
Package gripcontrol
Short Description A GRIP library for PHP.
License MIT
Homepage https://github.com/fanout/php-gripcontrol
Informations about the package gripcontrol
php-gripcontrol
Author: Konstantin Bokarius [email protected]
A GRIP library for PHP.
License
php-gripcontrol is offered under the MIT license. See the LICENSE file.
Requirements
- openssl
- curl
- pthreads (required for asynchronous publishing)
- firebase/php-jwt >=1.0.0 (retreived automatically via Composer)
- fanout/php-pubcontrol >=1.0.6 (retreived automatically via Composer)
Installation
Using Composer: 'composer require fanout/gripcontrol'
Manual: ensure that php-jwt and php-pubcontrol have been included and require the following files in php-gripcontrol:
Asynchronous Publishing
In order to make asynchronous publish calls pthreads must be installed. If pthreads is not installed then only synchronous publish calls can be made. To install pthreads recompile PHP with the following flag: '--enable-maintainer-zts'
Also note that since a callback passed to the publish_async methods is going to be executed in a separate thread, that callback and the class it belongs to are subject to the rules and limitations imposed by the pthreads extension.
See more information about pthreads here: http://php.net/manual/en/book.pthreads.php
Usage
Examples for how to publish HTTP response and HTTP stream messages to GRIP proxy endpoints via the GripPubControl class.
Validate the Grip-Sig request header from incoming GRIP messages. This ensures that the message was sent from a valid source and is not expired. Note that when using Fanout.io the key is the realm key, and when using Pushpin the key is configurable in Pushpin's settings.
Long polling example via response headers. The client connects to a GRIP proxy over HTTP and the proxy forwards the request to the origin. The origin subscribes the client to a channel and instructs it to long poll via the response headers. Note that with the recent versions of Apache it's not possible to send a 304 response containing custom headers, in which case the response body should be used instead (next usage example below).
Long polling example via response body. The client connects to a GRIP proxy over HTTP and the proxy forwards the request to the origin. The origin subscribes the client to a channel and instructs it to long poll via the response body.
WebSocket over HTTP example. In this case, a client connects to a GRIP proxy via WebSockets and the GRIP proxy communicates with the origin via HTTP.
Parse a GRIP URI to extract the URI, ISS, and key values. The values will be returned in a hash containing 'control_uri', 'control_iss', and 'key' keys.