@@ -12,35 +12,39 @@ fn onRequestWait(ctx: *Ctx, res: anyerror!void) !void {
12
12
std .debug .print ("error: {any}\n " , .{e });
13
13
return e ;
14
14
};
15
- std .log .debug ("REQUEST WAITED " , .{});
15
+ std .log .debug ("request waited " , .{});
16
16
std .log .debug ("Status code: {any}" , .{ctx .req .response .status });
17
17
const body = try ctx .req .reader ().readAllAlloc (ctx .alloc (), 1024 * 1024 );
18
18
defer ctx .alloc ().free (body );
19
- std .log .debug ("Body: \n {s }" , .{body });
19
+ std .log .debug ("body length: {d }" , .{body . len });
20
20
}
21
21
22
22
fn onRequestFinish (ctx : * Ctx , res : anyerror ! void ) ! void {
23
23
res catch | err | return err ;
24
- std .log .debug ("REQUEST FINISHED " , .{});
24
+ std .log .debug ("request finished " , .{});
25
25
return ctx .req .async_wait (ctx , onRequestWait );
26
26
}
27
27
28
28
fn onRequestSend (ctx : * Ctx , res : anyerror ! void ) ! void {
29
29
res catch | err | return err ;
30
- std .log .debug ("REQUEST SENT " , .{});
30
+ std .log .debug ("request sent " , .{});
31
31
return ctx .req .async_finish (ctx , onRequestFinish );
32
32
}
33
33
34
34
pub fn onRequestConnect (ctx : * Ctx , res : anyerror ! void ) anyerror ! void {
35
35
res catch | err | return err ;
36
- std .log .debug ("REQUEST CONNECTED " , .{});
36
+ std .log .debug ("request connected " , .{});
37
37
return ctx .req .async_send (ctx , onRequestSend );
38
38
}
39
39
40
40
test "example.com" {
41
- // const url = "http://127.0.0.1:8080";
42
- const url = "https://www.example.com" ;
41
+ var urls = [_ ][]const u8 {
42
+ "https://www.example.com" ,
43
+ };
44
+ try do (& urls );
45
+ }
43
46
47
+ fn do (urls : [][]const u8 ) ! void {
44
48
var gpa = std .heap .GeneralPurposeAllocator (.{}){};
45
49
defer switch (gpa .deinit ()) {
46
50
.ok = > {},
@@ -54,23 +58,26 @@ test "example.com" {
54
58
var client = Client { .allocator = alloc };
55
59
defer client .deinit ();
56
60
57
- var req = Client.Request {
58
- .client = & client ,
59
- };
60
- defer req .deinit ();
61
+ var server_header_buffer : [1024 * 1024 ]u8 = undefined ;
61
62
62
- var ctx = try Client .Ctx .init (& loop , & req );
63
- defer ctx .deinit ();
63
+ for (urls ) | url | {
64
+ var req = Client.Request {
65
+ .client = & client ,
66
+ };
67
+ defer req .deinit ();
64
68
65
- var server_header_buffer : [1024 * 1024 ]u8 = undefined ;
69
+ var ctx = try Client .Ctx .init (& loop , & req );
70
+ defer ctx .deinit ();
66
71
67
- try client .async_open (
68
- .GET ,
69
- try std .Uri .parse (url ),
70
- .{ .server_header_buffer = & server_header_buffer },
71
- & ctx ,
72
- onRequestConnect ,
73
- );
72
+ std .log .info ("request {s}" , .{url });
73
+ try client .async_open (
74
+ .GET ,
75
+ try std .Uri .parse (url ),
76
+ .{ .server_header_buffer = & server_header_buffer },
77
+ & ctx ,
78
+ onRequestConnect ,
79
+ );
74
80
75
- try std .testing .expect (ctx .err == null );
81
+ try std .testing .expect (ctx .err == null );
82
+ }
76
83
}
0 commit comments