+ /* etag */
+ if ((zoption = http_request_option(request, options, "etag", IS_STRING)) && Z_STRLEN_P(zoption)) {
+ char match_header[1024] = {0}, *quoted_etag = NULL;
+
+ if ((Z_STRVAL_P(zoption)[0] != '"') || (Z_STRVAL_P(zoption)[Z_STRLEN_P(zoption)-1] != '"')) {
+ spprintf("ed_etag, 0, "\"%s\"", Z_STRVAL_P(zoption));
+ }
+ snprintf(match_header, lenof(match_header), "%s: %s", range_req?"If-Match":"If-None-Match", quoted_etag?quoted_etag:Z_STRVAL_P(zoption));
+ request->_cache.headers = curl_slist_append(request->_cache.headers, match_header);
+ STR_FREE(quoted_etag);
+ }
+ /* compression */