+--------------------------------------------------------------------+
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the conditions mentioned |
- | in the accomp395anying LICENSE file are met. |
+ | in the accompanying LICENSE file are met. |
+--------------------------------------------------------------------+
| Copyright (c) 2004-2011, Michael Wallner <mike@php.net> |
+--------------------------------------------------------------------+
static PHP_HTTP_STRLIST(php_http_env_response_status) =
PHP_HTTP_STRLIST_ITEM("Continue")
PHP_HTTP_STRLIST_ITEM("Switching Protocols")
+ PHP_HTTP_STRLIST_ITEM("Processing")
PHP_HTTP_STRLIST_NEXT
PHP_HTTP_STRLIST_ITEM("OK")
PHP_HTTP_STRLIST_ITEM("Created")
PHP_HTTP_STRLIST_ITEM("No Content")
PHP_HTTP_STRLIST_ITEM("Reset Content")
PHP_HTTP_STRLIST_ITEM("Partial Content")
+ PHP_HTTP_STRLIST_ITEM("Multi-Status")
+ PHP_HTTP_STRLIST_ITEM("Already Reported")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("IM Used")
PHP_HTTP_STRLIST_NEXT
PHP_HTTP_STRLIST_ITEM("Multiple Choices")
PHP_HTTP_STRLIST_ITEM("Moved Permanently")
PHP_HTTP_STRLIST_ITEM("Use Proxy")
PHP_HTTP_STRLIST_ITEM("(Unused)")
PHP_HTTP_STRLIST_ITEM("Temporary Redirect")
+ PHP_HTTP_STRLIST_ITEM("Permanent Redirect")
PHP_HTTP_STRLIST_NEXT
PHP_HTTP_STRLIST_ITEM("Bad Request")
PHP_HTTP_STRLIST_ITEM("Unauthorized")
PHP_HTTP_STRLIST_ITEM("Unsupported Media Type")
PHP_HTTP_STRLIST_ITEM("Requested Range Not Satisfiable")
PHP_HTTP_STRLIST_ITEM("Expectation Failed")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("Unprocessible Entity")
+ PHP_HTTP_STRLIST_ITEM("Locked")
+ PHP_HTTP_STRLIST_ITEM("Failed Dependency")
+ PHP_HTTP_STRLIST_ITEM("(Reserved)")
+ PHP_HTTP_STRLIST_ITEM("Upgrade Required")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("Precondition Required")
+ PHP_HTTP_STRLIST_ITEM("Too Many Requests")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("Request Header Fields Too Large")
PHP_HTTP_STRLIST_NEXT
PHP_HTTP_STRLIST_ITEM("Internal Server Error")
PHP_HTTP_STRLIST_ITEM("Not Implemented")
PHP_HTTP_STRLIST_ITEM("Service Unavailable")
PHP_HTTP_STRLIST_ITEM("Gateway Timeout")
PHP_HTTP_STRLIST_ITEM("HTTP Version Not Supported")
+ PHP_HTTP_STRLIST_ITEM("Variant Also Negotiates")
+ PHP_HTTP_STRLIST_ITEM("Insufficient Storage")
+ PHP_HTTP_STRLIST_ITEM("Loop Detected")
+ PHP_HTTP_STRLIST_ITEM("(Unused)")
+ PHP_HTTP_STRLIST_ITEM("Not Extended")
+ PHP_HTTP_STRLIST_ITEM("Network Authentication Required")
PHP_HTTP_STRLIST_STOP
;
PHP_HTTP_ARG_VAL(code, 0)
PHP_HTTP_END_ARGS;
+PHP_HTTP_EMPTY_ARGS(getResponseStatusForAllCodes);
+
PHP_HTTP_BEGIN_ARGS(getResponseHeader, 0)
PHP_HTTP_ARG_VAL(header_name, 0)
PHP_HTTP_END_ARGS;
PHP_HTTP_ENV_ME(getRequestBody)
PHP_HTTP_ENV_ME(getResponseStatusForCode)
+ PHP_HTTP_ENV_ME(getResponseStatusForAllCodes)
PHP_HTTP_ENV_ME(getResponseHeader)
PHP_HTTP_ENV_ME(getResponseCode)
RETURN_FALSE;
}
+PHP_METHOD(HttpEnv, getResponseStatusForAllCodes)
+{
+ const char *s;
+ unsigned c;
+ php_http_strlist_iterator_t i;
+
+ if (SUCCESS != zend_parse_parameters_none()) {
+ RETURN_FALSE;
+ }
+
+ array_init(return_value);
+ for ( php_http_strlist_iterator_init(&i, php_http_env_response_status, 100);
+ *(s = php_http_strlist_iterator_this(&i, &c));
+ php_http_strlist_iterator_next(&i)
+ ) {
+ add_index_string(return_value, c, s, 1);
+ }
+}
+
PHP_METHOD(HttpEnv, getResponseHeader)
{
char *header_name_str = NULL;
static SAPI_POST_HANDLER_FUNC(php_http_json_post_handler)
{
if (SG(request_info).raw_post_data) {
- php_json_decode_ex(arg, SG(request_info).raw_post_data, SG(request_info).raw_post_data_length, PHP_JSON_OBJECT_AS_ARRAY, PG(max_input_nesting_level) TSRMLS_CC);
+ php_json_decode(arg, SG(request_info).raw_post_data, SG(request_info).raw_post_data_length, 1, PG(max_input_nesting_level) TSRMLS_CC);
}
}