Welcome! Log In Create A New Profile

Advanced

[nginx] SPDY: removed ngx_http_spdy_state_headers_error().

Valentin Bartenev
May 15, 2014 11:26AM
details: http://hg.nginx.org/nginx/rev/5d55f03b1e12
branches:
changeset: 5689:5d55f03b1e12
user: Valentin Bartenev <vbart@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)
{

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] SPDY: removed ngx_http_spdy_state_headers_error().

Valentin Bartenev 425 May 15, 2014 11:26AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 143
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready