branch off v1 as R_1_7
[m6w6/ext-http] / php_http_info_api.h
index cd229ed93bd16ab838957eea247726cbd5178788..a6c2fe83490bdface95a477ec304bdf52c3cd9d6 100644 (file)
@@ -1,16 +1,13 @@
 /*
-   +----------------------------------------------------------------------+
-   | PECL :: http                                                         |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 3.0 of the PHP license, that  |
-   | is bundled with this package in the file LICENSE, and is available   |
-   | through the world-wide-web at http://www.php.net/license/3_0.txt.    |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 2004-2005 Michael Wallner <mike@php.net>               |
-   +----------------------------------------------------------------------+
+    +--------------------------------------------------------------------+
+    | PECL :: http                                                       |
+    +--------------------------------------------------------------------+
+    | Redistribution and use in source and binary forms, with or without |
+    | modification, are permitted provided that the conditions mentioned |
+    | in the accompanying LICENSE file are met.                          |
+    +--------------------------------------------------------------------+
+    | Copyright (c) 2004-2010, Michael Wallner <mike@php.net>            |
+    +--------------------------------------------------------------------+
 */
 
 /* $Id$ */
 
 #define HTTP_INFO(ptr) (ptr)->http.info
 
-typedef struct {
+#define HTTP_INFO_REQUEST_FMT_ARGS(_http_ptr, _EOL) "%s %s HTTP/%1.1f" _EOL, \
+                               (_http_ptr)->info.request.method?(_http_ptr)->info.request.method:"UNKNOWN", \
+                               (_http_ptr)->info.request.url?(_http_ptr)->info.request.url:"/", \
+                               (_http_ptr)->version>0.0?(_http_ptr)->version:1.1
+
+#define HTTP_INFO_RESPONSE_FMT_ARGS(_http_ptr, _EOL) "HTTP/%1.1f %d%s%s" _EOL, \
+                               (_http_ptr)->version>0.0?(_http_ptr)->version:1.1, \
+                               (_http_ptr)->info.response.code?(_http_ptr)->info.response.code:200, \
+                               (_http_ptr)->info.response.status&&*(_http_ptr)->info.response.status ? " ":"", \
+                               STR_PTR((_http_ptr)->info.response.status)
+
+typedef struct _http_request_info_t {
        char *method;
-       char *URI;
+       char *url;
 } http_request_info;
 
-typedef struct {
+typedef struct _http_response_info_t {
        int code;
        char *status;
 } http_response_info;
 
-typedef union {
+typedef union _http_info_union_t {
        http_request_info request;
        http_response_info response;
-} http_info_t;
+} http_info_union;
 
 struct http_info {
-       http_info_t info;
+       http_info_union info;
        double version;
 };
 
-typedef struct {
+typedef struct _http_info_t {
        struct http_info http;
        int type;
 } http_info;
@@ -56,7 +64,7 @@ PHP_HTTP_API void _http_info_default_callback(void **nothing, HashTable **header
 PHP_HTTP_API void _http_info_dtor(http_info *info);
 #define http_info_parse(p, i) _http_info_parse_ex((p), (i), 1 TSRMLS_CC)
 #define http_info_parse_ex(p, i, s) _http_info_parse_ex((p), (i), (s) TSRMLS_CC)
-PHP_HTTP_API STATUS _http__infoparse_ex(const char *pre_header, http_info *info , zend_bool silent TSRMLS_DC);
+PHP_HTTP_API STATUS _http_info_parse_ex(const char *pre_header, http_info *info , zend_bool silent TSRMLS_DC);
 
 #endif