Skip to content

Instantly share code, notes, and snippets.

@mikehouse
Created October 2, 2019 15:45
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mikehouse/93e7cb6b37a7e2eb88d5d236f61936d5 to your computer and use it in GitHub Desktop.
Save mikehouse/93e7cb6b37a7e2eb88d5d236f61936d5 to your computer and use it in GitHub Desktop.
GCDWebServer make Cross-Origin Resource Sharing (WKWebView as example)
GCDWebServer *_webServer = [[GCDWebServer alloc] init];
[_webServer addDefaultHandlerForMethod:@"GET"
requestClass:[GCDWebServerRequest class]
processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) {
GCDWebServerDataResponse *response = [GCDWebServerDataResponse responseWithHTML:@"true"];
[response setValue:@"*" forAdditionalHeader:@"Access-Control-Allow-Origin"];
[response setValue:@"X-Requested-With, Content-Type" forAdditionalHeader:@"Access-Control-Allow-Headers"];
[response setValue:@"GET, POST, OPTIONS" forAdditionalHeader:@"Access-Control-Allow-Methods"];
response.statusCode = 200;
return response;
}];
[_webServer addDefaultHandlerForMethod:@"OPTIONS"
requestClass:[GCDWebServerRequest class]
processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) {
GCDWebServerDataResponse *response = [GCDWebServerDataResponse responseWithHTML:@"true"];
[response setValue:@"*" forAdditionalHeader:@"Access-Control-Allow-Origin"];
[response setValue:@"X-Requested-With, Content-Type" forAdditionalHeader:@"Access-Control-Allow-Headers"];
[response setValue:@"GET, POST, OPTIONS" forAdditionalHeader:@"Access-Control-Allow-Methods"];
response.statusCode = 200;
return response;
}];
[_webServer startWithPort:59999 bonjourName:nil];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment