48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
[cond signal];
[cond unlock];
client = [listener accept];
if (![[client readLine] isEqual: @"GET /foo HTTP/1.1"])
OF_ENSURE(0);
if (![[client readLine] hasPrefix: @"User-Agent:"])
OF_ENSURE(0);
if (![[client readLine] isEqual: @"Content-Length: 5"])
OF_ENSURE(0);
if (![[client readLine] isEqual:
@"Content-Type: application/x-www-form-urlencoded; charset=UTF-8"])
OF_ENSURE(0);
if (![[client readLine] isEqual:
[OFString stringWithFormat: @"Host: 127.0.0.1:%" @PRIu16, _port]])
OF_ENSURE(0);
if (![[client readLine] isEqual: @""])
OF_ENSURE(0);
[client readIntoBuffer: buffer exactLength: 5];
if (memcmp(buffer, "Hello", 5) != 0)
OF_ENSURE(0);
[client writeString: @"HTTP/1.0 200 OK\r\n"
@"cONTeNT-lENgTH: 7\r\n"
@"\r\n"
@"foo\n"
@"bar"];
[client close];
|
|
|
|
|
|
|
|
|
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
[cond signal];
[cond unlock];
client = [listener accept];
if (![[client readLine] isEqual: @"GET /foo HTTP/1.1"])
OFEnsure(0);
if (![[client readLine] hasPrefix: @"User-Agent:"])
OFEnsure(0);
if (![[client readLine] isEqual: @"Content-Length: 5"])
OFEnsure(0);
if (![[client readLine] isEqual:
@"Content-Type: application/x-www-form-urlencoded; charset=UTF-8"])
OFEnsure(0);
if (![[client readLine] isEqual:
[OFString stringWithFormat: @"Host: 127.0.0.1:%" @PRIu16, _port]])
OFEnsure(0);
if (![[client readLine] isEqual: @""])
OFEnsure(0);
[client readIntoBuffer: buffer exactLength: 5];
if (memcmp(buffer, "Hello", 5) != 0)
OFEnsure(0);
[client writeString: @"HTTP/1.0 200 OK\r\n"
@"cONTeNT-lENgTH: 7\r\n"
@"\r\n"
@"foo\n"
@"bar"];
[client close];
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
}
- (void)client: (OFHTTPClient *)client
didPerformRequest: (OFHTTPRequest *)request
response: (OFHTTPResponse *)response_
exception: (id)exception
{
OF_ENSURE(exception == nil);
response = [response_ retain];
[[OFRunLoop mainRunLoop] stop];
}
- (void)HTTPClientTests
|
|
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
}
- (void)client: (OFHTTPClient *)client
didPerformRequest: (OFHTTPRequest *)request
response: (OFHTTPResponse *)response_
exception: (id)exception
{
OFEnsure(exception == nil);
response = [response_ retain];
[[OFRunLoop mainRunLoop] stop];
}
- (void)HTTPClientTests
|