<?php

header("Content-Type: text/plain");

function properNaming($name,$value){
	return str_replace(' ','-',ucwords(str_replace('_',' ',strtolower(str_replace('HTTP_','',$name))))).': '.$value;
}

function envToHTTPRequest($ENV){
	$req='';
	if(isset($ENV['REQUEST_METHOD'])){
		ksort($ENV);

		$req=$ENV['REQUEST_METHOD'].' '.$ENV['SCRIPT_NAME'].(strlen($ENV['QUERY_STRING'])?'?'.$ENV['QUERY_STRING']:'').' '.$ENV['SERVER_PROTOCOL']."\r\n";

		foreach($ENV as $k => $v) {
			if(substr($k,0,5)=='HTTP_') {
				$req.=properNaming($k,$v)."\r\n";
			}
		}
		if(intval($ENV['CONTENT_LENGTH']) > 0) {
			$req.=properNaming('CONTENT_LENGTH',$ENV['CONTENT_LENGTH'])."\r\n";
			$req.=properNaming('CONTENT_TYPE',$ENV['CONTENT_TYPE'])."\r\n";
		}
		if($ENV['REQUEST_METHOD']!='GET') {
			$req.="\r\n";
			$stdin=fopen('php://stdin', 'r');
			while( $line = fgets( $stdin ) ) {
				$req.=$line;
			}
			fclose( $stdin );
			$req.="\r\n";
		}
	}
	return $req;
}

foreach($_ENV as $k => $v) {
	switch($k) {
		case 'AUTH_TYPE':
		case 'CONTENT_LENGTH':
		case 'CONTENT_TYPE':
		case 'GATEWAY_INTERFACE':
		case 'PATH_INFO':
		case 'PATH_TRANSLATED':
		case 'QUERY_STRING':
		case 'REMOTE_ADDR':
		case 'REMOTE_HOST':
		case 'REMOTE_IDENT':
		case 'REMOTE_USER':
		case 'REQUEST_METHOD':
		case 'SCRIPT_NAME':
		case 'SERVER_NAME':
		case 'SERVER_PORT':
		case 'SERVER_PROTOCOL':
		case 'SERVER_SOFTWARE':
			echo $k.' : '.$v."\n";
			break;
		default:
			if(substr($k,0,5)=='HTTP_')
 				echo $k.' : '.$v."\n";
	}
}

echo "-=-=-=-=-=-=-=-=-=-=-=-=-\n";
echo envToHTTPRequest($_ENV);
echo "-=-=-=-=-=-=-=-=-=-=-=-=-\n";
