ngx_memcpy(p, name, path.len);
}
- if (ngx_http_set_exten(r) != NGX_OK) {
- ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
- return NGX_OK;
- }
+ ngx_http_set_exten(r);
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"try file uri: \"%V\"", &r->uri);
}
-ngx_int_t
+void
ngx_http_set_exten(ngx_http_request_t *r)
{
ngx_int_t i;
r->exten.len = r->uri.len - i - 1;
r->exten.data = &r->uri.data[i + 1];
- break;
+ return;
} else if (r->uri.data[i] == '/') {
- break;
+ return;
}
}
- return NGX_OK;
+ return;
}
sr->method_name = ngx_http_core_get_method;
sr->http_protocol = r->http_protocol;
- if (ngx_http_set_exten(sr) != NGX_OK) {
- return NGX_ERROR;
- }
+ ngx_http_set_exten(sr);
sr->main = r->main;
sr->parent = r;
ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"internal redirect: \"%V?%V\"", uri, &r->args);
- if (ngx_http_set_exten(r) != NGX_OK) {
- ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
- return NGX_DONE;
- }
+ ngx_http_set_exten(r);
/* clear the modules contexts */
ngx_memzero(r->ctx, sizeof(void *) * ngx_http_max_module);
err.len = NGX_MAX_CONF_ERRSTR;
err.data = errstr;
+#if (NGX_HAVE_CASELESS_FILESYSTEM)
+ caseless = 1;
+#endif
+
clcf->regex = ngx_regex_compile(regex, caseless ? NGX_REGEX_CASELESS: 0,
cf->pool, &err);
void *ngx_http_test_content_type(ngx_http_request_t *r, ngx_hash_t *types_hash);
ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r);
-ngx_int_t ngx_http_set_exten(ngx_http_request_t *r);
+void ngx_http_set_exten(ngx_http_request_t *r);
u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name,
size_t *root_length, size_t reserved);
ngx_int_t ngx_http_auth_basic_user(ngx_http_request_t *r);
r->args.data = r->args_start;
}
+#if (NGX_WIN32)
+ {
+ u_char *p;
+
+ p = r->uri.data + r->uri.len - 1;
+
+ if (*p == '.') {
+
+ while (--p > r->uri.data && *p == '.') { /* void */ }
+
+ r->uri.len = p + 1 - r->uri.data;
+
+ ngx_http_set_exten(r);
+ }
+ }
+#endif
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
"http request line: \"%V\"", &r->request_line);
| (fi)->ftLastWriteTime.dwLowDateTime) \
- 116444736000000000) / 10000000)
+#define NGX_HAVE_CASELESS_FILESYSTEM 1
#define ngx_filename_cmp(s1, s2, n) _strnicmp((char *) s1, (char *) s2, n)