https://github.com/cjp2600/php-glow
Simple http request linker for roadrunner service.
https://github.com/cjp2600/php-glow
http php roadrunner
Last synced: 9 months ago
JSON representation
Simple http request linker for roadrunner service.
- Host: GitHub
- URL: https://github.com/cjp2600/php-glow
- Owner: cjp2600
- Created: 2020-11-23T08:43:10.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-23T10:20:56.000Z (over 5 years ago)
- Last Synced: 2025-05-14T20:58:34.402Z (11 months ago)
- Topics: http, php, roadrunner
- Language: PHP
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GLOW CLIENT
Simple http request Orchestrate for RoadRunner.
### Roadrunner service [roadrunner-glow](https://github.com/cjp2600/roadrunner-glow)
## Example
```php
class GlowController
{
public function test(): Response
{
// set glow configuration
$config = new Configuration();
// debug query information on rr output
$config->setDebug(false);
// init glow
$glow = new Glow($config);
// build sequences
$glow->sequences(
// first auth request
($glow->request('auth')
->setMethod('post')
->setUrl('https://api.example.com/api/v1/users/login')
->setData([
'email' => 'user@example.com',
'password' => 'PassWord',])
// set $token variable use json path
->setVariable('token', '$.data.accessToken')),
// parallel sequence wrapper
// inside it, all requests will be executed in parallel
$glow->parallel(
// get current user from token and set $userId variable
// default get method
($glow->request('current')
->setAuth('$token') // use token variable form auth request
->setUrl('https://api.example.com/api/v1/users/current')
->setVariable('userId', '$.data.id')),
// get user notices
($glow->request('count')
->setAuth('$token')
->setUrl('https://api.example.com/api/v1/notices/count'))
)
);
// execute all jobs
$response = $glow->execute();
// get data from responses
$user = $response->getResponse('current');
$notices = $response->getResponse('count');
return new Response(
' User: ' . $user->data->firstName . '
Notices count: ' . $notices->data->totalCount . ' '
);
}
}
```