From db9b2f1e8eabb6dbf707f6b837a84b9db1651770 Mon Sep 17 00:00:00 2001 From: hmelder Date: Mon, 4 Mar 2024 22:13:42 +0100 Subject: [PATCH] MicroHTTPKit: Method for automatic CORS handler configuration --- Libraries/MicroHTTPKit/MicroHTTPKit/HKRouter.h | 1 + Libraries/MicroHTTPKit/Source/HKRouter.m | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/Libraries/MicroHTTPKit/MicroHTTPKit/HKRouter.h b/Libraries/MicroHTTPKit/MicroHTTPKit/HKRouter.h index 86c6c53..3585d81 100644 --- a/Libraries/MicroHTTPKit/MicroHTTPKit/HKRouter.h +++ b/Libraries/MicroHTTPKit/MicroHTTPKit/HKRouter.h @@ -55,6 +55,7 @@ extern NSString *const HKResponseStatusKey; - (instancetype)initWithRoutes:(NSArray *)routes notFoundHandler:(HKHandlerBlock)notFoundHandler NS_DESIGNATED_INITIALIZER; +- (void)registerRoute:(HKRoute *)route withCORSHandler:(HKHandlerBlock)handler; - (void)registerRoute:(HKRoute *)route; - (NSArray *)routes; diff --git a/Libraries/MicroHTTPKit/Source/HKRouter.m b/Libraries/MicroHTTPKit/Source/HKRouter.m index 887c310..19523e9 100644 --- a/Libraries/MicroHTTPKit/Source/HKRouter.m +++ b/Libraries/MicroHTTPKit/Source/HKRouter.m @@ -4,6 +4,7 @@ * SPDX-License-Identifier: MIT */ +#import #import @interface HKRouter () @@ -71,6 +72,17 @@ - (nullable HKHandlerBlock)handlerForRequest:(HKHTTPRequest *)request { return nil; } +- (void)registerRoute:(HKRoute *)route withCORSHandler:(HKHandlerBlock)handler { + NSString *path; + HKRoute *corsRoute; + + path = [route path]; + corsRoute = [HKRoute routeWithPath:path method:HKHTTPMethodPOST handler:handler]; + + [_routes addObject:route]; + [_routes addObject:corsRoute]; +} + - (void)registerRoute:(HKRoute *)route { [_routes addObject:route]; }