|                                           |  | <?phpnamespace p3k;
class HTTP {
  public $timeout = 4;  public $max_redirects = 8;
  public function get($url, $headers=[]) {    $class = $this->_class($url);    $http = new $class($url);    $http->timeout = $this->timeout;    $http->max_redirects = $this->max_redirects;    return $http->get($url, $headers);  }
  public function post($url, $body, $headers=[]) {    $class = $this->_class($url);    $http = new $class($url);    $http->timeout = $this->timeout;    $http->max_redirects = $this->max_redirects;    return $http->post($url, $body, $headers);  }
  public function head($url) {    $class = $this->_class($url);    $http = new $class($url);    $http->timeout = $this->timeout;    $http->max_redirects = $this->max_redirects;    return $http->head($url);  }
  private function _class($url) {    if(!should_follow_redirects($url)) {      return 'p3k\HTTPStream';    } else {      return 'p3k\HTTPCurl';    }  }
  public static function link_rels($header_array) {    $headers = '';    foreach($header_array as $k=>$header) {      if(is_string($header)) {        $headers .= $k . ': ' . $header . "\r\n";      } else {        foreach($header as $h) {          $headers .= $k . ': ' . $h . "\r\n";        }      }    }    $rels = \IndieWeb\http_rels($headers);    return $rels;  }
}
 |