27 if (empty($message->requestHeaders)) {
28 $message->requestHeaders = [
"Accept: */*"];
29 } elseif (count(preg_grep(
"/^Accept:/", $message->requestHeaders)) == 0) {
30 $message->requestHeaders[] =
"Accept: */*";
34 'content' => $message->request,
35 'header' => $message->requestHeaders,
36 'ignore_errors' =>
true,
39 $message->requestHeaders = implode(
"\n", $message->requestHeaders);
41 $ctx = stream_context_create([
'http' => $opts]);
42 $fp = @fopen($message->
getUrl(),
'rb',
false, $ctx);
44 $resp = @stream_get_contents($fp);
45 $message->ok = $resp !==
false;
47 $message->response = $resp;
49 if (isset($http_response_header[0])) {
50 $message->responseHeaders = implode(
"\n", $http_response_header);
51 if (preg_match(
"/HTTP\/\d.\d\s+(\d+)/", $http_response_header[0], $out)) {
52 $message->status = $out[1];
54 $message->ok = $message->status < 400;
56 $message->error = $http_response_header[0];
62 }
catch (\Exception $e) {
63 $message->error = $e->getMessage();
67 $message->error = error_get_last()[
"message"];
getUrl()
Get the target URL for the request.
getMethod()
Get the HTTP method for the request.
Class to represent an HTTP message request.
Class to implement the HTTP message interface using a file stream.
Interface to represent an HTTP message client.
send(HTTPMessage $message)
Send the request to the target URL.