Pierre-Olivier Latour 11 жил өмнө
parent
commit
3401206279
1 өөрчлөгдсөн 27 нэмэгдсэн , 1 устгасан
  1. 27 1
      Mac/main.m

+ 27 - 1
Mac/main.m

@@ -26,9 +26,12 @@
  */
  */
 
 
 #import "GCDWebServer.h"
 #import "GCDWebServer.h"
+
 #import "GCDWebServerDataRequest.h"
 #import "GCDWebServerDataRequest.h"
 #import "GCDWebServerURLEncodedFormRequest.h"
 #import "GCDWebServerURLEncodedFormRequest.h"
+
 #import "GCDWebServerDataResponse.h"
 #import "GCDWebServerDataResponse.h"
+#import "GCDWebServerStreamingResponse.h"
 
 
 #import "GCDWebDAVServer.h"
 #import "GCDWebDAVServer.h"
 
 
@@ -36,7 +39,7 @@
 
 
 int main(int argc, const char* argv[]) {
 int main(int argc, const char* argv[]) {
   BOOL success = NO;
   BOOL success = NO;
-  int mode = (argc == 2 ? MIN(MAX(atoi(argv[1]), 0), 4) : 0);
+  int mode = (argc == 2 ? MIN(MAX(atoi(argv[1]), 0), 5) : 0);
   @autoreleasepool {
   @autoreleasepool {
     GCDWebServer* webServer = nil;
     GCDWebServer* webServer = nil;
     switch (mode) {
     switch (mode) {
@@ -103,6 +106,29 @@ int main(int argc, const char* argv[]) {
         break;
         break;
       }
       }
       
       
+      case 5: {
+        webServer = [[GCDWebServer alloc] init];
+        [webServer addHandlerForMethod:@"GET"
+                                  path:@"/"
+                          requestClass:[GCDWebServerRequest class]
+                          processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) {
+          
+          __block int countDown = 10;
+          return [GCDWebServerStreamingResponse responseWithContentType:@"text/plain" streamBlock:^NSData *(NSError** error) {
+            
+            usleep(100 * 1000);
+            if (countDown) {
+              return [[NSString stringWithFormat:@"%i\n", countDown--] dataUsingEncoding:NSUTF8StringEncoding];
+            } else {
+              return [NSData data];
+            }
+            
+          }];
+          
+        }];
+        break;
+      }
+      
     }
     }
     success = [webServer runWithPort:8080];
     success = [webServer runWithPort:8080];
 #if !__has_feature(objc_arc)
 #if !__has_feature(objc_arc)