annotate Http.inc @ 103:23a59da90fc7

Make static function static.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Mon, 07 Mar 2016 17:06:42 +0100
parents 2370f4450983
children 111770d32c2e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
93
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
1 <?php
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
2 include_once 'ScriptIncludeCache.inc';
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
3
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
4 /// @cond
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
5 $baseDir = dirname(__FILE__);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
6 $cache = ScriptIncludeCache::instance(__FILE__);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
7 /// @endcond
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
8
94
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
9 /**
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
10 * Thrown if a request has gone bad
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
11 */
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
12 class RequestException extends RuntimeException
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
13 {
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
14 private $_info;
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
15
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
16 /**
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
17 * Constructs a RequestException
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
18 *
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
19 * @param $info an info array as defined in http_get, if a key with
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
20 * name error exist, this will be the error text for the
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
21 * RuntimeException
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
22 */
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
23 function __construct($info)
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
24 {
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
25 $this->_info = $info;
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
26 if (array_key_exists('error', $info)) {
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
27 parent::__construct($info['error']);
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
28 }
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
29 }
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
30
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
31 /**
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
32 * Get the info object associated with this RequestException
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
33 *
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
34 * @return $info an info array as defined in http_get
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
35 */
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
36 function info()
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
37 {
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
38 return $this->_info;
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
39 }
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
40 }
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
41
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
42 /**
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
43 * Http contains a set of functions for retrieving http information
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
44 */
93
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
45 class Http
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
46 {
94
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
47 /**
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
48 * Gets the content of a page
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
49 *
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
50 * This mimics the file_content with a uri parameter which is often
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
51 * disabled due to security reasons
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
52 *
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
53 * @param $uri The uri to fetch
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
54 */
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
55 static function get_uri_contents($uri)
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
56 {
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
57 $crl = curl_init();
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
58 $timeout = 5;
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
59
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
60 curl_setopt ($crl, CURLOPT_URL, $uri);
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
61 curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
62 curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
63 $ret = curl_exec($crl);
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
64 curl_close($crl);
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
65 return $ret;
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
66 }
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
67
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
68 /**
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
69 * Splits an http header response into an associative array
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
70 *
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
71 * @param $response The headers to parse
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
72 * @return an Associative array, the key '' refers to the HTTP status header
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
73 */
93
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
74 static function headersToArray($response)
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
75 {
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
76 $headers = array();
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
77 $response = trim($response);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
78 $str = explode("\n", $response);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
79 $headers[''] = trim($str[0]);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
80 foreach($str as $kv) {
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
81 $p = strpos($kv, ":");
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
82 if ($p) {
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
83 $key = substr($kv, 0, $p);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
84 $value = trim(substr($kv, $p + 1));
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
85 $headers[$key] = $value;
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
86 }
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
87 }
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
88 return $headers;
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
89 }
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
90
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
91 /**
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
92 * Queries a URL for headers
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
93 *
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
94 * @param $url the url to query
94
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
95 * @param $timeout float number of seconds to wait before timeout
93
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
96 * @return an associative array of all headers returned
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
97 */
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
98 static function getHeaders($url, $timeout = 1)
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
99 {
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
100 $response = @http_head($url, array("timeout" => $timeout), $info);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
101
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
102 if (array_key_exists('error', $info) && $info['error']) {
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
103 throw new RequestException($info);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
104 }
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
105
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
106 return self::headersToArray($response);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
107 }
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
108
94
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
109 /**
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
110 * Performs a post to an URI for headers
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
111 *
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
112 * @param $uri the uri to query
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
113 * @param $params an associative array of params to post
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
114 * @param $timeout float number of seconds to wait before timeout
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
115 * @return an associative array of all headers returned
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
116 */
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
117 static function postHeaders($uri, $params, $timeout = 1)
93
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
118 {
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
119 $crl = curl_init();
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
120
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
121 $descriptorspec = array(
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
122 0 => array("pipe", "r"),
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
123 1 => array("pipe", "w"),
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
124 //2 => array("file", "/tmp/error-output.txt", "a")
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
125 );
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
126
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
127 //We use tac, since it buffers, and we don't care about the output
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
128 //being reordered.
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
129 $process = proc_open('tac | tac', $descriptorspec, $pipes);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
130
94
2370f4450983 Document functions and move a few functions to more appropriate places.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 93
diff changeset
131 curl_setopt ($crl, CURLOPT_URL, $uri);
93
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
132 curl_setopt ($crl, CURLOPT_WRITEHEADER, $pipes[0]);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
133 curl_setopt ($crl, CURLOPT_NOBODY, true);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
134 curl_setopt ($crl, CURLOPT_POST, true);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
135 curl_setopt ($crl, CURLOPT_POSTFIELDS, $params);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
136
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
137 curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
138 curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
139 $ret = curl_exec($crl);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
140 curl_close($crl);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
141
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
142 fclose($pipes[0]);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
143 $buf = fread($pipes[1], 8192);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
144
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
145 return self::headersToArray($buf);
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
146 }
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
147 }
8aadd7a23b68 Moved some functionality from common-functions into Http class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
148 ?>