Skip to content

Commit

Permalink
Merge pull request #7 from rstgroup/develop
Browse files Browse the repository at this point in the history
prepare for new release
  • Loading branch information
snapshotpl authored Nov 9, 2016
2 parents 02147f9 + 66b4e4e commit eda72b4
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 25 deletions.
25 changes: 23 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,34 @@ matrix:
fast_finish: true
include:
- php: 5.5
env:
- DEPS=lowest
- php: 5.5
env:
- DEPS=latest
- php: 5.6
env:
- DEPS=lowest
- php: 5.6
env:
- DEPS=latest
- php: 7
env:
- DEPS=lowest
- php: 7
env:
- DEPS=latest
- php: hhvm
env:
- DEPS=lowest
- php: hhvm
env:
- DEPS=latest

install:
- travis_retry composer install --no-interaction --ignore-platform-reqs --prefer-source
- if [[ $DEPS == 'latest' ]]; then travis_retry composer update --no-interaction --prefer-source ; fi
- if [[ $DEPS == 'lowest' ]]; then travis_retry composer update --no-interaction --prefer-source --prefer-lowest ; fi
- composer info -i

script:
- ./vendor/bin/phpunit
- ./vendor/bin/phpunit
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@ If you want more information, how `request id` is generating, check dependent pr

## Installation

```json
"require": {
"rstgroup/request-id-module": "dev-develop"
}
```bash
composer require rstgroup/request-id-module
```


Expand Down
12 changes: 8 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@
"require": {
"php": ">=5.5",
"zendframework/zend-modulemanager": "^2.4",
"php-middleware/request-id": "^3.0.0",
"zendframework/zend-eventmanager": "^2.4 || ^3",
"zendframework/zend-http": "^2.4",
"zendframework/zend-mvc": "^2.4 || ^3",
"zendframework/zend-servicemanager": "^2.4 || ^3",
"zendframework/zend-stdlib": "^2.4 || ^3",
"zendframework/zend-psr7bridge": "^0.2",
"zendframework/zend-stdlib": "^2.4"
"php-middleware/request-id": "^3.0.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8",
Expand All @@ -14,7 +18,7 @@
"zendframework/zend-log": "^2.4",
"zendframework/zend-serializer": "^2.4",
"zendframework/zend-session": "^2.4",
"zendframework/zend-test": "^2.4"
"zendframework/zend-test": "^2.4 || ^3"
},
"autoload": {
"psr-4": {
Expand All @@ -26,4 +30,4 @@
"RstGroup\\RequestIdModule\\Test\\": "test/"
}
}
}
}
27 changes: 16 additions & 11 deletions src/RequestIdListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
namespace RstGroup\RequestIdModule;

use PhpMiddleware\RequestId\Exception\MissingRequestId;
use PhpMiddleware\RequestId\Exception\RequestIdExceptionInterface;
use PhpMiddleware\RequestId\Generator\GeneratorInterface;
use PhpMiddleware\RequestId\RequestIdProviderInterface;
use Zend\EventManager\AbstractListenerAggregate;
use Zend\EventManager\EventManagerInterface;
Expand All @@ -29,13 +29,18 @@ final class RequestIdListener extends AbstractListenerAggregate implements Reque

protected $requestIdProviderFactory;

public function __construct(RequestIdProviderFactoryInterface $requestIdProviderFactory, $requestIdHeaderName = self::DEFAULT_REQUEST_ID_HEADER)
private $requestIdGenerator;

public function __construct(RequestIdProviderFactoryInterface $requestIdProviderFactory,
$requestIdHeaderName = self::DEFAULT_REQUEST_ID_HEADER,
GeneratorInterface $requestIdGenerator = null)
{
$this->requestIdProviderFactory = $requestIdProviderFactory;
$this->requestIdHeaderName = $requestIdHeaderName;
$this->requestIdGenerator = $requestIdGenerator;
}

public function attach(EventManagerInterface $events)
public function attach(EventManagerInterface $events, $priority = 1)
{
$this->listeners[] = $events->attach(MvcEvent::EVENT_BOOTSTRAP, [$this, 'loadRequestId']);
$this->listeners[] = $events->attach(MvcEvent::EVENT_FINISH, [$this, 'addRequestIdToResponse']);
Expand All @@ -45,16 +50,16 @@ public function loadRequestId(MvcEvent $event)
{
$request = $event->getRequest();

if (!$request instanceof HttpRequest) {
return;
}
$psr7Request = Psr7ServerRequest::fromZend($request);

$requestIdProvider = $this->requestIdProviderFactory->create($psr7Request);
if ($request instanceof HttpRequest) {
$psr7Request = Psr7ServerRequest::fromZend($request);
$requestIdProvider = $this->requestIdProviderFactory->create($psr7Request);
$this->requestId = $requestIdProvider->getRequestId();

$this->requestId = $requestIdProvider->getRequestId();
} elseif ($this->requestIdGenerator !== null) {
$this->requestId = $this->requestIdGenerator->generateRequestId();
}

return $this->requestId ;
return $this->requestId;
}

public function getRequestId()
Expand Down
6 changes: 4 additions & 2 deletions src/RequestIdListenerFactory.php
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
<?php
namespace RstGroup\RequestIdModule;

use PhpMiddleware\RequestId\Generator\GeneratorInterface;
use PhpMiddleware\RequestId\RequestIdProviderFactoryInterface;

class RequestIdListenerFactory
{
public function __invoke($services)
{
$requestIdGenerator = $services->get(GeneratorInterface::class);
$requestIdProviderFactory = $services->get(RequestIdProviderFactoryInterface::class);

$config = $services->get('Config');
$requestIdHeaderName = $config['rst_group']['request_id_module']['header_name'];

return new RequestIdListener($requestIdProviderFactory, $requestIdHeaderName);
return new RequestIdListener($requestIdProviderFactory, $requestIdHeaderName, $requestIdGenerator);
}
}
}
22 changes: 21 additions & 1 deletion test/RequestIdListenerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
namespace RstGroup\RequestIdModule\Test;

use PhpMiddleware\RequestId\Exception\MissingRequestId;
use PhpMiddleware\RequestId\Generator\GeneratorInterface;
use PhpMiddleware\RequestId\RequestIdProviderFactoryInterface;
use PhpMiddleware\RequestId\RequestIdProviderInterface;
use RstGroup\RequestIdModule\RequestIdListener;
Expand Down Expand Up @@ -85,7 +86,7 @@ public function it_not_add_request_id_to_response_after_load_request_id()
/**
* @test
*/
public function it_not_load_request_id_if_not_http_request()
public function it_not_load_request_id_if_not_http_request_and_generator_is_undefined()
{
$requestIdListener = new RequestIdListener($this->requestIdProviderFactoryInterface);

Expand All @@ -100,6 +101,25 @@ public function it_not_load_request_id_if_not_http_request()
$this->assertNull($requestId);
}

/**
* @test
*/
public function it_create_request_id_if_not_http_request()
{
$requestId = 'e5dd58f4-b72d-4d7e-b0c9-d99040386a58';
$requestIdGenerator = $this->getMock(GeneratorInterface::class);
$requestIdGenerator->method('generateRequestId')->willReturn($requestId);

$requestIdListener = new RequestIdListener($this->requestIdProviderFactoryInterface, RequestIdListener::DEFAULT_REQUEST_ID_HEADER, $requestIdGenerator);

$mvcEvent = new MvcEvent();
$mvcEvent->setRequest(new ConsoleRequest());

$requestIdListener->loadRequestId($mvcEvent);

$this->assertSame($requestId, $requestIdListener->getRequestId());
}

/**
* @test
*/
Expand Down
8 changes: 7 additions & 1 deletion test/TestAsset/application.config.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

return [
$config = [
// This should be an array of module namespaces used in the application.
'modules' => [
'RstGroup\RequestIdModule'
Expand Down Expand Up @@ -30,3 +30,9 @@
],
],
];

if (class_exists(\Zend\Router\Module::class)) {
$config['modules'][] = 'Zend\Router';
}

return $config;

0 comments on commit eda72b4

Please sign in to comment.