php-http/message

Base URL message factory

Closed this issue · 4 comments

Having to prefix all the calls with a base URL is annoying:

$factory->createRequest('GET', 'http://example.com/foo');

It could be avoided if we implemented something like the following that would include the base url for us:

$factory = new BaseUrlMessageFactory('http://example.com', new GuzzleMessageFactory());
$request = $factory->createRequest('GET', '/foo');

The advantage is that we wouldn't need to deal with base url in the place where the factory is used.

What do you think?

It looks like the AddHostPlugin does this job (it doesn't seem to have documentation right yet).

Moreless ;) cheers!

Be aware of the way how PSR-7 describes URI trailing slashes a bit illogical IMO. See php-http/plugins#42 (comment)

Actually, i'd love to be able to pass a string there :/