- missing include
[m6w6/ext-http] / http_api.c
index eebfeb2ef80840c9f2f53bb46b3782413941dcea..999826dfa7af7a6c89bc8bf72e27519ef1d0063c 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "SAPI.h"
 #include "ext/standard/url.h"
+#include "ext/standard/head.h"
 
 #include "php_http.h"
 #include "php_http_std_defs.h"
@@ -220,7 +221,7 @@ STATUS _http_exit_ex(int status, char *header, char *body, zend_bool send_header
                }
        }
        
-       if (body) {
+       if (php_header(TSRMLS_C) && body) {
                PHPWRITE(body, strlen(body));
        }
        
@@ -228,6 +229,8 @@ STATUS _http_exit_ex(int status, char *header, char *body, zend_bool send_header
        {
                case 301:       http_log(HTTP_G(log).redirect, "301-REDIRECT", header);                 break;
                case 302:       http_log(HTTP_G(log).redirect, "302-REDIRECT", header);                 break;
+               case 303:       http_log(HTTP_G(log).redirect, "303-REDIRECT", header);                 break;
+               case 307:       http_log(HTTP_G(log).redirect, "307-REDIRECT", header);                 break;
                case 304:       http_log(HTTP_G(log).cache, "304-CACHE", header);                               break;
                case 405:       http_log(HTTP_G(log).allowed_methods, "405-ALLOWED", header);   break;
                default:        http_log(NULL, header, body);                                                                   break;