117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
OF_SETTER(headers, headers_, YES, YES)
}
- (OFDictionary*)headers
{
OF_GETTER(headers, YES)
}
- (OFHTTPRequestResult*)perform
{
return [self performWithRedirects: 10];
}
- (OFHTTPRequestResult*)performWithRedirects: (size_t)redirects
|
>
>
>
>
>
>
>
>
>
>
|
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
OF_SETTER(headers, headers_, YES, YES)
}
- (OFDictionary*)headers
{
OF_GETTER(headers, YES)
}
- (void)setRedirectsFromHTTPSToHTTPAllowed: (BOOL)allowed
{
redirectsFromHTTPSToHTTPAllowed = allowed;
}
- (BOOL)redirectsFromHTTPSToHTTPAllowed
{
return redirectsFromHTTPSToHTTPAllowed;
}
- (OFHTTPRequestResult*)perform
{
return [self performWithRedirects: 10];
}
- (OFHTTPRequestResult*)performWithRedirects: (size_t)redirects
|
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
|
do {
tmp++;
} while (*tmp == ' ');
value = [OFString stringWithCString: tmp];
if (redirects > 0 && (status == 301 || status == 302 ||
status == 303) && [key caseInsensitiveCompare:
@"Location"] == OF_ORDERED_SAME) {
OFURL *new;
new = [[OFURL alloc] initWithString: value
relativeToURL: URL];
[URL release];
URL = new;
|
|
|
>
>
>
|
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
|
do {
tmp++;
} while (*tmp == ' ');
value = [OFString stringWithCString: tmp];
if ((redirects > 0 && (status == 301 || status == 302 ||
status == 303) && [key caseInsensitiveCompare:
@"Location"] == OF_ORDERED_SAME) &&
(redirectsFromHTTPSToHTTPAllowed ||
[scheme isEqual: @"http"] ||
![value hasPrefix: @"http://"])) {
OFURL *new;
new = [[OFURL alloc] initWithString: value
relativeToURL: URL];
[URL release];
URL = new;
|