Open
Description
I'm not sure where this gets swallowed, but I'm trying following:
use Http\Client\Curl\Client;
use Http\Client\HttpClient;
use Http\Message\MessageFactory\DiactorosMessageFactory;
use Http\Message\StreamFactory\DiactorosStreamFactory;
use Zend\Diactoros\Request;
$client = new Client(new DiactorosMessageFactory(), new DiactorosStreamFactory());
$url = 'http://localhost:8085/api/v2/messages?start=0&limit=50';
$response = $this->client->sendRequest(
(new Request($url))->withAddedHeader('Accept', 'application/json')
);
var_dump((string) $response->getBody()); // 404 page not found
file_get_contents($url); // the JSON I wanted
This is while interacting with MailHog.
While debugging, it seems like the curl options are as following:
$options = [
42 => true,
19913 => true,
52 => false,
84 => 2,
10002 => 'http://localhost:8025/api/v2/messages?start=0&limit=50',
11036 => '',
10023 => [
0 => 'Host: localhost:8025',
],
];
Translated in curl options constants, that would be:
$options = [
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_HTTP_VERSION => 2,
CURLOPT_URL => 'http://localhost:8025/api/v2/messages?start=0&limit=50',
CURLOPT_CUSTOMREQUEST => '',
CURLOPT_HTTPHEADER => [
0 => 'Host: localhost:8025',
],
];
Does anybody have a clue on why this behavior may happen? Note that requests seem to go to port 80.