static ngx_int_t
ngx_http_gzip_accept_encoding(ngx_str_t *ae)
{
    u_char  *p, *start, *last;
    start = ae->data;
    last = start + ae->len;
    for ( ;; ) {
        p = ngx_strcasestrn(start, "gzip", 4 - 1);
        if (p == NULL) {
            return NGX_DECLINED;
        }
        if (p == start || (*(p - 1) == ',' || *(p - 1) == ' ')) {
            break;
        }
        start = p + 4;
    }
    p += 4;
    while (p < last) {
        switch(*p++) {
        case ',':
            return NGX_OK;
        case ';':
            goto quantity;
        case ' ':
            continue;
        default:
            return NGX_DECLINED;
        }
    }
    return NGX_OK;
quantity:
    while (p < last) {
        switch(*p++) {
        case 'q':
        case 'Q':
            goto equal;
        case ' ':
            continue;
        default:
            return NGX_DECLINED;
        }
    }
    return NGX_OK;
equal:
    if (p + 2 > last || *p++ != '=') {
        return NGX_DECLINED;
    }
    if (ngx_http_gzip_quantity(p, last) == 0) {
        return NGX_DECLINED;
    }
    return NGX_OK;
}
['static ngx_int_t\nngx_http_gzip_accept_encoding(ngx_str_t *ae)\n{\n    u_char  *p, *start, *last;\n    start = ae->data;\n    last = start + ae->len;\n    for ( ;; ) {\n        p = ngx_strcasestrn(start, "gzip", 4 - 1);\n        if (p == NULL) {\n            return NGX_DECLINED;\n        }\n        if (p == start || (*(p - 1) == \',\' || *(p - 1) == \' \')) {\n            break;\n        }\n        start = p + 4;\n    }\n    p += 4;\n    while (p < last) {\n        switch(*p++) {\n        case \',\':\n            return NGX_OK;\n        case \';\':\n            goto quantity;\n        case \' \':\n            continue;\n        default:\n            return NGX_DECLINED;\n        }\n    }\n    return NGX_OK;\nquantity:\n    while (p < last) {\n        switch(*p++) {\n        case \'q\':\n        case \'Q\':\n            goto equal;\n        case \' \':\n            continue;\n        default:\n            return NGX_DECLINED;\n        }\n    }\n    return NGX_OK;\nequal:\n    if (p + 2 > last || *p++ != \'=\') {\n        return NGX_DECLINED;\n    }\n    if (ngx_http_gzip_quantity(p, last) == 0) {\n        return NGX_DECLINED;\n    }\n    return NGX_OK;\n}']