Author: rfm
Date: Sun Aug 30 17:50:27 2015
New Revision: 38958

URL: http://svn.gna.org/viewcvs/gnustep?rev=38958&view=rev
Log:
Allow debug to be turned on for an individual request

Modified:
    libs/base/trunk/Source/GSURLPrivate.h
    libs/base/trunk/Source/NSURLConnection.m
    libs/base/trunk/Source/NSURLProtocol.m
    libs/base/trunk/Source/NSURLRequest.m

Modified: libs/base/trunk/Source/GSURLPrivate.h
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/GSURLPrivate.h?rev=38958&r1=38957&r2=38958&view=diff
==============================================================================
--- libs/base/trunk/Source/GSURLPrivate.h       (original)
+++ libs/base/trunk/Source/GSURLPrivate.h       Sun Aug 30 17:50:27 2015
@@ -57,6 +57,7 @@
  */
 
 @interface     NSURLRequest (Private)
+- (BOOL) _debug;
 - (id) _propertyForKey: (NSString*)key;
 - (void) _setProperty: (id)value forKey: (NSString*)key;
 @end

Modified: libs/base/trunk/Source/NSURLConnection.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSURLConnection.m?rev=38958&r1=38957&r2=38958&view=diff
==============================================================================
--- libs/base/trunk/Source/NSURLConnection.m    (original)
+++ libs/base/trunk/Source/NSURLConnection.m    Sun Aug 30 17:50:27 2015
@@ -109,7 +109,6 @@
 {
   _done = YES;
 }
-
 
 - (void) connection: (NSURLConnection *)connection
      didReceiveData: (NSData *)data

Modified: libs/base/trunk/Source/NSURLProtocol.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSURLProtocol.m?rev=38958&r1=38957&r2=38958&view=diff
==============================================================================
--- libs/base/trunk/Source/NSURLProtocol.m      (original)
+++ libs/base/trunk/Source/NSURLProtocol.m      Sun Aug 30 17:50:27 2015
@@ -352,7 +352,6 @@
   NSURLCredential              *_credential;
   NSHTTPURLResponse            *_response;
 }
-- (void) setDebug: (BOOL)flag;
 @end
 
 @interface _NSHTTPSURLProtocol : _NSHTTPURLProtocol
@@ -472,28 +471,6 @@
   return NO;
 }
 
-+ (Class) _classToHandleRequest:(NSURLRequest *)request
-{
-  Class protoClass = nil;
-  int count;
-  [regLock lock];
-
-  count = [registered count];
-  while (count-- > 0)
-    {
-      Class    proto = [registered objectAtIndex: count];
-
-      if ([proto canInitWithRequest: request] == YES)
-       {
-         protoClass = proto;
-         break;
-       }
-    }
-  [regLock unlock];
-  return protoClass;
-}
-
-
 + (void) setProperty: (id)value
              forKey: (NSString *)key
           inRequest: (NSMutableURLRequest *)request
@@ -618,16 +595,32 @@
   return this->request;
 }
 
-/* This method is here so that it's safe to set debug on any NSURLProtocol
- * even if the concrete subclass doesn't actually support debug logging.
- */
-- (void) setDebug: (BOOL)flag
-{
-  return;
-}
-
 @end
 
+@implementation        NSURLProtocol (Private)
+
++ (Class) _classToHandleRequest:(NSURLRequest *)request
+{
+  Class protoClass = nil;
+  int count;
+  [regLock lock];
+
+  count = [registered count];
+  while (count-- > 0)
+    {
+      Class    proto = [registered objectAtIndex: count];
+
+      if ([proto canInitWithRequest: request] == YES)
+       {
+         protoClass = proto;
+         break;
+       }
+    }
+  [regLock unlock];
+  return protoClass;
+}
+
+@end
 
 @implementation        NSURLProtocol (Subclassing)
 
@@ -705,23 +698,12 @@
   [super dealloc];
 }
 
-- (id) init
-{
-  if (nil != (self = [super init]))
-    {
-      _debug = GSDebugSet(@"NSURLProtocol");
-    }
-  return self;
-}
-
-- (void) setDebug: (BOOL)flag
-{
-  _debug = flag;
-}
-
 - (void) startLoading
 {
   static NSDictionary *methods = nil;
+
+  _debug = GSDebugSet(@"NSURLProtocol");
+  if (YES == [this->request _debug]) _debug = YES;
 
   if (methods == nil)
     {

Modified: libs/base/trunk/Source/NSURLRequest.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSURLRequest.m?rev=38958&r1=38957&r2=38958&view=diff
==============================================================================
--- libs/base/trunk/Source/NSURLRequest.m       (original)
+++ libs/base/trunk/Source/NSURLRequest.m       Sun Aug 30 17:50:27 2015
@@ -38,6 +38,7 @@
   NSString                     *method;
   NSMutableDictionary          *headers;
   BOOL                         shouldHandleCookies;
+  BOOL                          debug;
   NSURL                                *URL;
   NSURL                                *mainDocumentURL;
   NSURLRequestCachePolicy      cachePolicy;
@@ -114,6 +115,7 @@
          ASSIGN(inst->bodyStream, this->bodyStream);
          ASSIGN(inst->method, this->method);
          inst->shouldHandleCookies = this->shouldHandleCookies;
+         inst->debug = this->debug;
           inst->headers = [this->headers mutableCopy];
        }
     }
@@ -268,9 +270,15 @@
       ASSIGN(inst->bodyStream, this->bodyStream);
       ASSIGN(inst->method, this->method);
       inst->shouldHandleCookies = this->shouldHandleCookies;
+      inst->debug = this->debug;
       inst->headers = [this->headers mutableCopy];
     }
   return o;
+}
+
+- (void) setDebug: (BOOL)flag
+{
+  this->debug = flag;
 }
 
 - (NSTimeInterval) timeoutInterval
@@ -427,6 +435,12 @@
 @end
 
 @implementation        NSURLRequest (Private)
+
+- (BOOL) _debug
+{
+  return this->debug;
+}
+
 - (id) _propertyForKey: (NSString*)key
 {
   return [this->properties objectForKey: key];


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to