mirror of
https://github.com/KevinMidboe/rohnenedre.git
synced 2026-02-13 21:09:19 +00:00
Initial commit. State 04.2021.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
# CurlResponse
|
||||
#
|
||||
# Author Sean Huber - shuber@huberry.com
|
||||
# Date May 2008
|
||||
#
|
||||
# A basic CURL wrapper for PHP
|
||||
#
|
||||
# See the README for documentation/examples or http://php.net/curl for more information
|
||||
# about the libcurl extension for PHP -- http://github.com/shuber/curl/tree/master
|
||||
#
|
||||
|
||||
class CurlResponse
|
||||
{
|
||||
public $body = '';
|
||||
public $headers = array();
|
||||
|
||||
public function __construct($response)
|
||||
{
|
||||
# Extract headers from response
|
||||
$pattern = '#HTTP/\d\.\d.*?$.*?\r\n\r\n#ims';
|
||||
preg_match_all($pattern, $response, $matches);
|
||||
$headers = explode("\r\n", str_replace("\r\n\r\n", '', array_pop($matches[0])));
|
||||
|
||||
# Extract the version and status from the first header
|
||||
$version_and_status = array_shift($headers);
|
||||
preg_match('#HTTP/(\d\.\d)\s(\d\d\d)\s(.*)#', $version_and_status, $matches);
|
||||
$this->headers['Http-Version'] = $matches[1];
|
||||
$this->headers['Status-Code'] = $matches[2];
|
||||
$this->headers['Status'] = $matches[2].' '.$matches[3];
|
||||
|
||||
# Convert headers into an associative array
|
||||
foreach ($headers as $header) {
|
||||
preg_match('#(.*?)\:\s(.*)#', $header, $matches);
|
||||
$this->headers[$matches[1]] = $matches[2];
|
||||
}
|
||||
|
||||
# Remove the headers from the response body
|
||||
$this->body = preg_replace($pattern, '', $response);
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
return $this->body;
|
||||
}
|
||||
|
||||
public function headers(){
|
||||
return $this->headers;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user