diff --git a/cpp/server/basic_auth_filter.cpp b/cpp/server/basic_auth_filter.cpp index aa8c270e..27098e1d 100644 --- a/cpp/server/basic_auth_filter.cpp +++ b/cpp/server/basic_auth_filter.cpp @@ -27,6 +27,9 @@ BasicAuthFilter::~BasicAuthFilter() = default; void BasicAuthFilter::beginRequest(Request* request) { + if (request->method == HttpMethod::OPTIONS) + return; + if (verifyCredentials(request)) return; diff --git a/cpp/server/server_host.cpp b/cpp/server/server_host.cpp index f715281b..a868fae4 100644 --- a/cpp/server/server_host.cpp +++ b/cpp/server/server_host.cpp @@ -42,14 +42,14 @@ void ServerHost::reconfigure(SettingsDataPtr settings) auto router = &config->router; auto filters = &config->filters; + if (!settings->responseHeaders.empty()) + filters->add(std::make_unique(settings)); + if (settings->authRequired) filters->add(std::make_unique(settings)); filters->add(std::make_unique()); - if (!settings->responseHeaders.empty()) - filters->add(std::make_unique(settings)); - filters->add(std::make_unique()); filters->add(std::make_unique());