Skip to content

Instantly share code, notes, and snippets.

@nishabe
Last active August 12, 2018 18:22
Show Gist options
  • Save nishabe/fdf60becb1f6a4b85ce83cae7092635f to your computer and use it in GitHub Desktop.
Save nishabe/fdf60becb1f6a4b85ce83cae7092635f to your computer and use it in GitHub Desktop.
OBJC: GCD Web Server Set up to access a log file
#import "GCDWebServer.h"
#import "GCDWebServerDataResponse.h"
..........
@interface AppDelegate (){
GCDWebServer* _webServer;
}
- (void)startWebServer{
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate* myDate = [NSDate date];
NSString *stringFromDate = [dateFormatter stringFromDate:myDate];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.log",stringFromDate]];
// Create server
_webServer = [[GCDWebServer alloc] init];
// Add a handler to respond to GET requests on any URL
[_webServer addDefaultHandlerForMethod:@"GET"
requestClass:[GCDWebServerRequest class]
processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) {
return [GCDWebServerDataResponse responseWithText:[NSString stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding error:NULL]];
}];
// Start server on port 8080
[_webServer startWithPort:8080 bonjourName:nil];
NSLog(@"Visit %@ in your web browser", _webServer.serverURL);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment