2011-02-07 1 views
2

J'ai écrit une sous-classe personnalisée de NSURLProtocol, mais il semble que chaque fois que j'utilise le protocole pour charger une requête dans UIWebView, il suppose que les données sont de type "text/html". Existe-t-il un moyen de spécifier que ce contenu est réellement autre chose (par exemple "text/plain" ou "image/png")?Comment changer le type de contenu d'un NSURLProtocol personnalisé?

Répondre

2

Le type de contenu est en fait porté par NSURLResponse, que vous pouvez modifier en utilisant la méthode NSURLProtocolClient URLProtocol: didReceiveResponse: cacheStoragePolicy: par exemple, pour définir 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

Le type de contenu est acheminé par NSMutableURLRequest.

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

Pas tout à fait la résultat que je cherchais, cela semble être utile pour dicter le format de votre demande, je cherchais à clarifier le format de la réponse. – BadPirate

Questions connexes