private function getResponseInfo($return)
{
$res = array();
if ($return['name'] === 'status') {
$arg = $return['args'][0];
$value = $arg['value'];
if ($arg['is_const']) {
$res['status'] = "HTTP/1.1 {$value}\r\n";
} else {
$res['status'] = "HTTP/1.1 [{$value}]\r\n";
}
if ($return['doc']) {
$res['doc'] = "{$value}:\r\n {$return['doc']}\r\n\r\n";
}
} elseif ($return['name'] === 'res') {
$arg = $return['args'][0];
$value = $arg['value'];
if ($arg['is_const']) {
$res['status'] = "HTTP/1.1 {$value}\r\n";
} else {
$res['status'] = "HTTP/1.1 [{$value}]\r\n";
}
if ($return['doc']) {
$res['doc'] = "{$value}:\r\n {$return['doc']}\r\n\r\n";
}
$arg = $return['args'][1];
$value = $arg['value'];
if ($arg['is_const']) {
$res['body'] = $value;
} else {
if ($value) {
$res['body'] = "[{$value}]";
} else {
$res['body'] = "[return]";
}
}
if ($return['doc']) {
if (is_array($value)) {
$value = json_encode($value);
}
$res['doc'] = "return {$value}:\r\n {$return['doc']}\r\n\r\n";
}
} elseif ($return['name'] === 'header') {
$arg = $return['args'][0];
$value = $arg['value'];
if ($arg['is_const']) {
$res['header'] .= "{$value} \r\n";
} else {
$res['header'] .= "[{$value}] \r\n";
}
if ($return['doc']) {
$res['doc'] = "{$value}:\r\n {$return['doc']}\r\n\r\n";
}
} elseif ($return['name'] === 'cookie') {
$args = $return['args'];
foreach ($args as $k => &$arg) {
if (!$arg['is_const']) {
$value = $arg['value'];
$arg['value'] = "[{$value}]";
}
}
if ($return['doc']) {
$res['doc'] = "cookie {$args[0]['value']}:\r\n {$return['doc']}\r\n\r\n";
}
$res['header'] = 'Set-Cookie: ' . $args[0]['value'] . '=' . $args[1]['value'] . (empty($args[2]['value']) ? '' : '; expires=' . gmdate('D, d-M-Y H:i:s', strtotime($args[2]['value'])) . ' GMT') . (empty($args[3]['value']) ? '' : '; path=' . $args[3]['value']) . (empty($args[4]['value']) ? '' : '; domain=' . $args[4]['value']) . (empty($args[5]['value']) ? '' : '; secure') . (empty($args[6]['value']) ? '' : '; HttpOnly');
$res['header'] .= "\r\n";
} elseif ($return['name'] === 'body') {
$arg = $return['args'][0];
$value = $arg['value'];
if ($arg['is_const']) {
$res['body'] = $value;
} else {
if ($value) {
$res['body'] = "[{$value}]";
} else {
$res['body'] = "[return]";
}
}
if ($return['doc']) {
if (is_array($value)) {
$value = json_encode($value);
}
$res['doc'] = "return {$value}:\r\n {$return['doc']}\r\n\r\n";
}
}
return $res;
}