Commit 29ddc70d authored by Christophe Jaillet's avatar Christophe Jaillet
Browse files

Since r1753257, "HEAD" method is registered into the registry hash with the M_GET ID.

(r1757672 in 2.4.x)

We iterate over all the values of the registery, so there is no need anymore to have a special case for "HEAD" in  'make_allow()'. It has its own entry now.

With the current code, we have "HEAD" 3 times in the Allow Header field.
This is because we find M_GET 2 times in the registry hash. The first one gives "GET" and "HEAD" (as the special handling), and the second "HEAD" and "HEAD" (as the special handling).


BTW, use APR_ARRAY_PUSH instead of hand coding it, in oder to have the code more readable.

PR 61207

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799784 13f79535-47bb-0310-9956-ffa450edef68
parent 68766a7b
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -871,11 +871,7 @@ static char *make_allow(request_rec *r)

        apr_hash_this(hi, &key, NULL, &val);
        if ((mask & (AP_METHOD_BIT << *(int *)val)) != 0) {
            *(const char **)apr_array_push(allow) = key;

            /* the M_GET method actually refers to two methods */
            if (*(int *)val == M_GET)
                *(const char **)apr_array_push(allow) = "HEAD";
            APR_ARRAY_PUSH(allow, const char *) = key;
        }
    }