@@ -2281,16 +2281,6 @@ int main(int argc, char ** argv) {
22812281 std::atomic<server_state> state{SERVER_STATE_LOADING_MODEL};
22822282
22832283 svr->set_default_headers ({{" Server" , " llama.cpp" }});
2284-
2285- // CORS preflight
2286- svr->Options (R"( .*)" , [](const httplib::Request &, httplib::Response & res) {
2287- // Access-Control-Allow-Origin is already set by middleware
2288- res.set_header (" Access-Control-Allow-Credentials" , " true" );
2289- res.set_header (" Access-Control-Allow-Methods" , " POST" );
2290- res.set_header (" Access-Control-Allow-Headers" , " *" );
2291- return res.set_content (" " , " text/html" ); // blank response, no data
2292- });
2293-
22942284 svr->set_logger (log_server_request);
22952285
22962286 auto res_error = [](httplib::Response & res, const json & error_data) {
@@ -2356,11 +2346,6 @@ int main(int argc, char ** argv) {
23562346 " /v1/models" ,
23572347 };
23582348
2359- // If this is OPTIONS request, skip validation because browsers don't include Authorization header
2360- if (req.method == " OPTIONS" ) {
2361- return true ;
2362- }
2363-
23642349 // If API key is not set, skip validation
23652350 if (params.api_keys .empty ()) {
23662351 return true ;
@@ -2408,6 +2393,14 @@ int main(int argc, char ** argv) {
24082393 // register server middlewares
24092394 svr->set_pre_routing_handler ([&middleware_validate_api_key, &middleware_server_state](const httplib::Request & req, httplib::Response & res) {
24102395 res.set_header (" Access-Control-Allow-Origin" , req.get_header_value (" Origin" ));
2396+ // If this is OPTIONS request, skip validation because browsers don't include Authorization header
2397+ if (req.method == " OPTIONS" ) {
2398+ res.set_header (" Access-Control-Allow-Credentials" , " true" );
2399+ res.set_header (" Access-Control-Allow-Methods" , " POST" );
2400+ res.set_header (" Access-Control-Allow-Headers" , " *" );
2401+ res.set_content (" " , " text/html" ); // blank response, no data
2402+ return httplib::Server::HandlerResponse::Handled; // skip further processing
2403+ }
24112404 if (!middleware_server_state (req, res)) {
24122405 return httplib::Server::HandlerResponse::Handled;
24132406 }
0 commit comments