Hello World例
#import "GCDWebServer.h" int main(int argc, const char* argv[]) { @autoreleasepool { // Create server GCDWebServer* webServer = [[GCDWebServer alloc] init]; // Add a handler to respond to requests on any URL [webServer addDefaultHandlerForMethod:@"GET" requestClass:[GCDWebServerRequest class] processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { return [GCDWebServerDataResponse responseWithHTML:@"Hello World"]; }]; // Use convenience method that runs server on port 8080 until SIGINT received [webServer runWithPort:8080]; // Destroy server [webServer release]; } return 0; }
リクエストと処理のマッピングを「ハンドラ」と呼んでいていくつも登録することができる(要スレッドセーフ)。この仕組みをベースに独自の処理系が作れそう。rubyやphpの実行環境を作るのもできないことは無いかも。