Как вы меняете тип содержимого пользовательского NSURLProtocol? - PullRequest
2 голосов
/ 07 февраля 2011

Я написал собственный подкласс NSURLProtocol, однако кажется, что всякий раз, когда я использую протокол для загрузки запроса в UIWebView, он предполагает, что данные относятся к типу содержимого "text / html". Есть ли способ указать, что этот контент на самом деле является чем-то другим (например, «text / plain» или «image / png»)?

Ответы [ 2 ]

2 голосов
/ 09 февраля 2011

Тип содержимого фактически переносится NSURLResponse, который можно изменить с помощью метода NSURLProtocolClient URLProtocol: didReceiveResponse: cacheStoragePolicy: например, чтобы установить значение text / plain

NSURLResponse *textResponse = [[NSURLResponse alloc] initWithURL:self.request.URL MIMEType:@"text/plain" expectedContentLength:100 textEncodingName:@"UTF-8"];
[self.client URLProtocol:self didReceiveResponse:textResponse cacheStoragePolicy:NSURLCacheStorageAllowedInMemoryOnly];
0 голосов
/ 08 февраля 2011

Тип содержимого передается NSMutableURLRequest.

[request setValue:@"image/png" forHTTPHeaderField:@"content-type"];
...