From 31b5b78dc121b17666afd8b50feb62764a197d7a Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 4 Sep 2021 17:35:33 +0900 Subject: [PATCH] Use switch to avoid many if-else-if --- lib/nghttp2_http.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/nghttp2_http.c b/lib/nghttp2_http.c index f17d2c00..a2bcd2c0 100644 --- a/lib/nghttp2_http.c +++ b/lib/nghttp2_http.c @@ -360,16 +360,21 @@ int nghttp2_http_on_header(nghttp2_session *session, nghttp2_stream *stream, return NGHTTP2_ERR_IGN_HTTP_HEADER; } - if (nv->token == NGHTTP2_TOKEN__METHOD) { + switch (nv->token) { + case NGHTTP2_TOKEN__METHOD: rv = nghttp2_check_method(nv->value->base, nv->value->len); - } else if (nv->token == NGHTTP2_TOKEN__PATH) { + break; + case NGHTTP2_TOKEN__PATH: rv = nghttp2_check_path(nv->value->base, nv->value->len); - } else if (nv->token == NGHTTP2_TOKEN__AUTHORITY || - nv->token == NGHTTP2_TOKEN_HOST) { + break; + case NGHTTP2_TOKEN__AUTHORITY: + case NGHTTP2_TOKEN_HOST: rv = nghttp2_check_authority(nv->value->base, nv->value->len); - } else if (nv->token == NGHTTP2_TOKEN__SCHEME) { + break; + case NGHTTP2_TOKEN__SCHEME: rv = check_scheme(nv->value->base, nv->value->len); - } else { + break; + default: rv = nghttp2_check_header_value(nv->value->base, nv->value->len); }