access->token->id; file_put_contents("/tmp/os_token",$token); } function send_request($method,$url,$body) { global $token, $responseCode, $response, $type; $curlop = curl_init(); curl_setopt($curlop, CURLOPT_URL, $url); curl_setopt($curlop, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curlop, CURLOPT_HTTPHEADER, array("X-Auth-Token: ".$token)); //curl_setopt($curlop, CURLINFO_HEADER_OUT, 0); curl_setopt($curlop, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlop, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curlop, CURLINFO_HEADER_OUT, true); if ($method == "POST") { curl_setopt($curlop, CURLOPT_HTTPHEADER, array("Content-Type: application/json","X-Auth-Token: ".$token)); curl_setopt($curlop, CURLOPT_POSTFIELDS, $body); } $response = curl_exec($curlop); $req_time=time(); $info = curl_getinfo($curlop); file_put_contents("/tmp/".date('ymd').".log", "proxy.php, ".$req_time.", ".$url.", ".$type.", ".$body."\n",FILE_APPEND); $responseCode=curl_getinfo($curlop,CURLINFO_HTTP_CODE); $header_size = curl_getinfo($response, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); $type = curl_getinfo($curlop,CURLINFO_CONTENT_TYPE); $body = substr($response, $header_size); file_put_contents("/tmp/".date('ymd').".log", "proxy.php, ".$req_time.", ".$responseCode.", ".$type.", ".$header.", ".$body."\n",FILE_APPEND); curl_close($curlop); } function send_response($response) { // header("Location: ".$url); header("Content-Type: ".$type); header("Access-Control-Allow-Origin: *"); echo $response; } if (file_exists("/tmp/os_token")) { $token = file_get_contents("/tmp/os_token"); file_put_contents("/tmp/".date('ymd').".log", "proxy.php, auth token=".$token."\n",FILE_APPEND); } else { get_token(); } send_request($method,$url,$body); if ($responseCode == '401') { get_token(); send_request($method,$url,$body); } send_response($response);