मैं सभी HTTP कॉल को रोकने और उपयोगकर्ता एजेंट को संशोधित करने के साथ ही मेरे सर्वर द्वारा आवश्यक अन्य http शीर्षलेख जोड़ने के लिए NSURLProtocol का उप-वर्ग का उपयोग कर रहा हूं।NSURLProtocol और पोस्ट अपलोड प्रगति
-(id)initWithRequest:(NSURLRequest *)request
cachedResponse:(NSCachedURLResponse *)cachedResponse
client:(id <NSURLProtocolClient>)client
{
NSMutableURLRequest* lInnerRequest;
//************************************************
lInnerRequest = [request mutableCopy];
[lInnerRequest setValue:@"MyUserAgent" forHTTPHeaderField:@"User-Agent"];
//************************************************
self = [super initWithRequest:lInnerRequest
cachedResponse:cachedResponse
client:client];
//************************************************
if (self)
{
self.innerRequest = lInnerRequest;
}
//***********************************00*************
[lInnerRequest release];
//************************************************
return self;
}
मेरे प्रोटोकॉल तो का उपयोग करता है एक NSURLConnection
- (void)startLoading
{
self.URLConnection = [NSURLConnection connectionWithRequest:self.innerRequest delegate:self];
}
मैं तो बराबर NSURLProtocolClient विधि करने के लिए कॉल अग्रेषित कर NSURLConnection में सभी प्रतिनिधि विधि को लागू। यह सामान्य रूप में अच्छी तरह से काम लेकिन जब मैं सर्वर से डेटा अपलोड कर रहा है, मेरे कोड है जो NSURLConnection उपयोग कर रहा है पर वापस नहीं बुलाया हो जाता है:
कनेक्शन: didSendBodyData: totalBytesWritten: totalBytesExpectedToWrite:
मुझे समझ में क्यों है चूंकि मैंने NSURLProtocol में उस विधि को लागू नहीं किया है क्योंकि अपलोड प्रगति की रिपोर्ट करने के लिए कोई समकक्ष NSURLProtocolClient विधि नहीं है जिसका उपयोग किया जा सकता है।
क्या किसी को इसके लिए कोई कामकाज मिला है?
पर कॉल करने के लिए
NSURLConnection
ऑब्जेक्ट और प्रतिनिधि का उपयोग करें, यह एक बहुत ही रोचक समस्या है। क्या आपने कभी ऐसा करने का कोई तरीका खोज लिया है? – jasongregoriसटीक उसी उपयोग के मामले में एक ही समस्या है। क्या किसी को कोई कामकाज पता है? – nyi