File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2626 */
2727
2828#import " GCDWebServer.h"
29+
2930#import " GCDWebServerDataRequest.h"
3031#import " GCDWebServerURLEncodedFormRequest.h"
32+
3133#import " GCDWebServerDataResponse.h"
34+ #import " GCDWebServerStreamingResponse.h"
3235
3336#import " GCDWebDAVServer.h"
3437
3538#import " GCDWebUploader.h"
3639
3740int main (int argc, const char * argv[]) {
3841 BOOL success = NO ;
39- int mode = (argc == 2 ? MIN (MAX (atoi (argv[1 ]), 0 ), 4 ) : 0 );
42+ int mode = (argc == 2 ? MIN (MAX (atoi (argv[1 ]), 0 ), 5 ) : 0 );
4043 @autoreleasepool {
4144 GCDWebServer* webServer = nil ;
4245 switch (mode) {
@@ -103,6 +106,29 @@ int main(int argc, const char* argv[]) {
103106 break ;
104107 }
105108
109+ case 5 : {
110+ webServer = [[GCDWebServer alloc ] init ];
111+ [webServer addHandlerForMethod: @" GET"
112+ path: @" /"
113+ requestClass: [GCDWebServerRequest class ]
114+ processBlock: ^GCDWebServerResponse *(GCDWebServerRequest* request) {
115+
116+ __block int countDown = 10 ;
117+ return [GCDWebServerStreamingResponse responseWithContentType: @" text/plain" streamBlock: ^NSData *(NSError ** error) {
118+
119+ usleep (100 * 1000 );
120+ if (countDown) {
121+ return [[NSString stringWithFormat: @" %i \n " , countDown--] dataUsingEncoding: NSUTF8StringEncoding];
122+ } else {
123+ return [NSData data ];
124+ }
125+
126+ }];
127+
128+ }];
129+ break ;
130+ }
131+
106132 }
107133 success = [webServer runWithPort: 8080 ];
108134#if !__has_feature(objc_arc)
You can’t perform that action at this time.
0 commit comments