Skip to content

Commit

Permalink
Merge pull request #32 from 99designs/remove-factory
Browse files Browse the repository at this point in the history
Remove HttpMessageFactory
  • Loading branch information
mtibben committed May 4, 2017
2 parents 2195e88 + 7bbe9d7 commit acb9d2e
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 119 deletions.
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,20 @@ $message->headers->get('Authorization');
$context->verifier()->isValid($message); // true or false
```

### Symfony Integration
### Symfony compatibility

Also included is a `HttpMessageFactory` class for converting Symfony `Request` objects into PSR-7 compatible messages.
Symfony requests normalize query strings which means the resulting request target can be incorrect. See https://github.com/symfony/psr-http-message-bridge/pull/30

When creating PSR-7 requests you should do the following:

```php
$symfonyRequest = \Symfony\Component\HttpFoundation\Request::create('/foo');
$psr7Factory = new \HttpSignatures\HttpMessageFactory();
$psrRequest = $psr7Factory->createRequest($symfonyRequest);
use Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory;
use Symfony\Component\HttpFoundation\Request;

$symfonyRequest = Request::create('/foo?b=1&a=2');
$psrRequest = (new HttpFoundationFactory())
->createRequest($symfonyRequest)
->withRequestTarget($symfonyRequest->getRequestUri());
```

## Contributing
Expand Down
12 changes: 6 additions & 6 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@
"require": {
"php": ">=5.5",
"paragonie/random_compat": "^1.0|^2.0",
"symfony/http-foundation": "~2.8|~3.0",
"psr/http-message": "^1.0",
"symfony/psr-http-message-bridge": "^1.0",
"zendframework/zend-diactoros": "^1.1"
"psr/http-message": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "~4.8",
"friendsofphp/php-cs-fixer": "^1.11",
"guzzlehttp/psr7": "^1.2"
"guzzlehttp/psr7": "^1.2",
"phpunit/phpunit": "~4.8",
"symfony/http-foundation": "~2.8|~3.0",
"symfony/psr-http-message-bridge": "^1.0",
"zendframework/zend-diactoros": "^1.1"
}
}
105 changes: 0 additions & 105 deletions src/HttpMessageFactory.php

This file was deleted.

6 changes: 3 additions & 3 deletions tests/SigningStringTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use GuzzleHttp\Psr7\Request;
use HttpSignatures\HeaderList;
use HttpSignatures\HttpMessageFactory;
use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;
use HttpSignatures\SigningString;
use Symfony\Component\HttpFoundation\Request as SymfonyRequest;

Expand Down Expand Up @@ -85,8 +85,8 @@ private function symfonyMessage($path)
$symfonyRequest = SymfonyRequest::create($path, 'GET');
$symfonyRequest->headers->replace(['date' => 'Mon, 28 Jul 2014 15:39:13 -0700']);

$psr7Factory = new HttpMessageFactory();
$psrRequest = $psr7Factory->createRequest($symfonyRequest);
$psr7Factory = new DiactorosFactory();
$psrRequest = $psr7Factory->createRequest($symfonyRequest)->withRequestTarget($symfonyRequest->getRequestUri());

return $psrRequest;
}
Expand Down

0 comments on commit acb9d2e

Please sign in to comment.