<?php
# global variable to catch communication errors
$errstr = "";

# open connection to WebJson process
$fp = fsockopen("127.0.0.1", 8080, $errno, $errstr, 30);
if ($fp) {
	# connection OK, set timeout
	stream_set_timeout($fp, 5);
	# send data
	$var = file_get_contents('php://input');
	fwrite($fp, $var . "\x03");
	# read data
	$var = '';
	while (1)
	{
		# read some bytes
		$x = fread($fp, 1000);
		if ($x == "")
		{
			$errstr = "Timeout";
			break;
		}
		$var .= $x;
		# search for end marker
		$pos = strpos($var, "\x03");
		if ($pos >= 0)
		{
			# found
			$var = substr($var, 0, $pos);
			break;
		}
	}
	# done, close connection
	fclose($fp);
} else {
	$errstr = "Connect error $errno: $errstr";
}
if ($errstr == "")
{
	# all OK
	header('Content-Type: application/json');
	echo $var;
}
else
{
	# error happened
	http_response_code (500);
	header('Content-Type: text/plain');
	echo $errstr;
}
?>