[nginx] SPDY: removed ngx_http_spdy_state_headers_error().

Valentin Bartenev vbart at nginx.com
Thu May 15 15:25:46 UTC 2014


details:   http://hg.nginx.org/nginx/rev/5d55f03b1e12
branches:  
changeset: 5689:5d55f03b1e12
user:      Valentin Bartenev <vbart at nginx.com>
date:      Wed Apr 30 20:34:20 2014 +0400
description:
SPDY: removed ngx_http_spdy_state_headers_error().

The function just calls ngx_http_spdy_state_headers_skip() most of the time.
There was also an attempt of optimization to stop parsing if the client already
closed connection, but it looks strange and unfinished anyway.

diffstat:

 src/http/ngx_http_spdy.c |  26 ++++++--------------------
 1 files changed, 6 insertions(+), 20 deletions(-)

diffs (83 lines):

diff -r 86232c95623d -r 5d55f03b1e12 src/http/ngx_http_spdy.c
--- a/src/http/ngx_http_spdy.c	Thu May 15 19:18:26 2014 +0400
+++ b/src/http/ngx_http_spdy.c	Wed Apr 30 20:34:20 2014 +0400
@@ -103,8 +103,6 @@ static u_char *ngx_http_spdy_state_syn_s
     u_char *pos, u_char *end);
 static u_char *ngx_http_spdy_state_headers(ngx_http_spdy_connection_t *sc,
     u_char *pos, u_char *end);
-static u_char *ngx_http_spdy_state_headers_error(ngx_http_spdy_connection_t *sc,
-    u_char *pos, u_char *end);
 static u_char *ngx_http_spdy_state_headers_skip(ngx_http_spdy_connection_t *sc,
     u_char *pos, u_char *end);
 static u_char *ngx_http_spdy_state_window_update(ngx_http_spdy_connection_t *sc,
@@ -1100,7 +1098,7 @@ ngx_http_spdy_state_headers(ngx_http_spd
         {
             ngx_http_spdy_close_stream(sc->stream,
                                        NGX_HTTP_INTERNAL_SERVER_ERROR);
-            return ngx_http_spdy_state_headers_error(sc, pos, end);
+            return ngx_http_spdy_state_headers_skip(sc, pos, end);
         }
 
         if (ngx_array_init(&r->headers_in.cookies, r->pool, 2,
@@ -1109,7 +1107,7 @@ ngx_http_spdy_state_headers(ngx_http_spd
         {
             ngx_http_spdy_close_stream(sc->stream,
                                        NGX_HTTP_INTERNAL_SERVER_ERROR);
-            return ngx_http_spdy_state_headers_error(sc, pos, end);
+            return ngx_http_spdy_state_headers_skip(sc, pos, end);
         }
     }
 
@@ -1135,13 +1133,13 @@ ngx_http_spdy_state_headers(ngx_http_spd
                     /* TODO logging */
                     ngx_http_finalize_request(r,
                                             NGX_HTTP_REQUEST_HEADER_TOO_LARGE);
-                    return ngx_http_spdy_state_headers_error(sc, pos, end);
+                    return ngx_http_spdy_state_headers_skip(sc, pos, end);
                 }
 
                 if (rc != NGX_OK) {
                     ngx_http_spdy_close_stream(sc->stream,
                                                NGX_HTTP_INTERNAL_SERVER_ERROR);
-                    return ngx_http_spdy_state_headers_error(sc, pos, end);
+                    return ngx_http_spdy_state_headers_skip(sc, pos, end);
                 }
 
                 /* null-terminate the last processed header name or value */
@@ -1190,7 +1188,7 @@ ngx_http_spdy_state_headers(ngx_http_spd
 
             ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
 
-            return ngx_http_spdy_state_headers_error(sc, pos, end);
+            return ngx_http_spdy_state_headers_skip(sc, pos, end);
 
         default: /* NGX_HTTP_PARSE_INVALID_HEADER */
 
@@ -1216,7 +1214,7 @@ ngx_http_spdy_state_headers(ngx_http_spd
                 ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
             }
 
-            return ngx_http_spdy_state_headers_error(sc, pos, end);
+            return ngx_http_spdy_state_headers_skip(sc, pos, end);
         }
     }
 
@@ -1243,18 +1241,6 @@ ngx_http_spdy_state_headers(ngx_http_spd
 
 
 static u_char *
-ngx_http_spdy_state_headers_error(ngx_http_spdy_connection_t *sc, u_char *pos,
-    u_char *end)
-{
-    if (sc->connection->error) {
-        return ngx_http_spdy_state_internal_error(sc);
-    }
-
-    return ngx_http_spdy_state_headers_skip(sc, pos, end);
-}
-
-
-static u_char *
 ngx_http_spdy_state_headers_skip(ngx_http_spdy_connection_t *sc, u_char *pos,
     u_char *end)
 {



More information about the nginx-devel mailing list