mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 08:21:25 +00:00
Mostly tidying
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4465 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
4d85cbdec2
commit
24f59ea2a0
46 changed files with 1406 additions and 1020 deletions
518
Source/NSURL.m
518
Source/NSURL.m
|
@ -1,7 +1,7 @@
|
|||
/* NSUrl.m - Class NSURL
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
Written by: Manuel Guesdon <mguesdon@sbuilders.com>
|
||||
Written by: Manuel Guesdon <mguesdon@sbuilders.com>
|
||||
Date: Jan 1999
|
||||
|
||||
This file is part of the GNUstep Library.
|
||||
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
Note from Manuel Guesdon:
|
||||
Note from Manuel Guesdon:
|
||||
* I've made some test to compare apple NSURL results
|
||||
and GNUstep NSURL results but as there this class is not very documented, some
|
||||
function may be incorrect
|
||||
|
@ -52,448 +52,449 @@ NSString* NSURLPartKey_fragment=@"fragment";
|
|||
NSString* NSURLPartKey_parameterString=@"parameterString";
|
||||
NSString* NSURLPartKey_query=@"query";
|
||||
|
||||
//===================================================================================
|
||||
//=============================================================================
|
||||
@implementation NSURL
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
+(id)fileURLWithPath:(NSString*)_path
|
||||
//-----------------------------------------------------------------------------
|
||||
+ (id) fileURLWithPath: (NSString*)_path
|
||||
{
|
||||
return [[[NSURL alloc] initFileURLWithPath:_path]
|
||||
return [[[NSURL alloc] initFileURLWithPath: _path]
|
||||
autorelease];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
+(id)URLWithString:(NSString*)_urlString
|
||||
//-----------------------------------------------------------------------------
|
||||
+ (id)URLWithString: (NSString*)_urlString
|
||||
{
|
||||
return [[[NSURL alloc] initWithString:_urlString]
|
||||
return [[[NSURL alloc] initWithString: _urlString]
|
||||
autorelease];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
+(id)URLWithString:(NSString*)_urlString
|
||||
relativeToURL:(NSURL*)_baseURL
|
||||
//-----------------------------------------------------------------------------
|
||||
+ (id)URLWithString: (NSString*)_urlString
|
||||
relativeToURL: (NSURL*)_baseURL
|
||||
{
|
||||
return [[[NSURL alloc] initWithString:_urlString
|
||||
relativeToURL:_baseURL]
|
||||
return [[[NSURL alloc] initWithString: _urlString
|
||||
relativeToURL: _baseURL]
|
||||
autorelease];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(id)initWithScheme:(NSString*)_scheme
|
||||
host:(NSString*)_host
|
||||
path:(NSString*)_path
|
||||
//-----------------------------------------------------------------------------
|
||||
- (id) initWithScheme: (NSString*)_scheme
|
||||
host: (NSString*)_host
|
||||
path: (NSString*)_path
|
||||
{
|
||||
NSString* _urlString=nil;
|
||||
if (_host)
|
||||
_urlString=[NSString stringWithFormat:@"%@://%@",_scheme,_host];
|
||||
_urlString=[NSString stringWithFormat: @"%@: //%@",_scheme,_host];
|
||||
else
|
||||
_urlString=[NSString stringWithFormat:@"%@:",_scheme];
|
||||
_urlString=[NSString stringWithFormat: @"%@: ",_scheme];
|
||||
if (_path)
|
||||
_urlString=[_urlString stringByAppendingString:_path];
|
||||
self=[self initWithString:_urlString];
|
||||
_urlString=[_urlString stringByAppendingString: _path];
|
||||
self=[self initWithString: _urlString];
|
||||
return self;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//Non Standard Function
|
||||
-(id)initWithScheme:(NSString*)_scheme
|
||||
host:(NSString*)_host
|
||||
port:(NSNumber*)_port
|
||||
path:(NSString*)_path
|
||||
- (id) initWithScheme: (NSString*)_scheme
|
||||
host: (NSString*)_host
|
||||
port: (NSNumber*)_port
|
||||
path: (NSString*)_path
|
||||
{
|
||||
NSString* tmpHost=nil;
|
||||
if (_port)
|
||||
tmpHost=[NSString stringWithFormat:@"%@:%@",_host,_port];
|
||||
tmpHost=[NSString stringWithFormat: @"%@: %@",_host,_port];
|
||||
else
|
||||
tmpHost=_host;
|
||||
self=[self initWithScheme:_scheme
|
||||
host:tmpHost
|
||||
path:_path];
|
||||
self=[self initWithScheme: _scheme
|
||||
host: tmpHost
|
||||
path: _path];
|
||||
return self;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
//Do a initWithScheme:NSFileScheme host:nil path:_path
|
||||
-(id)initFileURLWithPath:(NSString*)_path
|
||||
//-----------------------------------------------------------------------------
|
||||
//Do a initWithScheme: NSFileScheme host: nil path: _path
|
||||
- (id) initFileURLWithPath: (NSString*)_path
|
||||
{
|
||||
self=[self initWithScheme:NSURLFileScheme
|
||||
host:nil
|
||||
path:_path];
|
||||
self=[self initWithScheme: NSURLFileScheme
|
||||
host: nil
|
||||
path: _path];
|
||||
return self;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
// urlString is escaped
|
||||
-(id)initWithString:(NSString*)_urlString
|
||||
- (id) initWithString: (NSString*)_urlString
|
||||
{
|
||||
self=[self init];
|
||||
ASSIGNCOPY(urlString,_urlString);
|
||||
return self;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//urlString!=nil
|
||||
// urlString is escaped
|
||||
-(id)initWithString:(NSString*)_urlString
|
||||
relativeToURL:(NSURL*)_baseURL
|
||||
- (id) initWithString: (NSString*)_urlString
|
||||
relativeToURL: (NSURL*)_baseURL
|
||||
{
|
||||
self=[self init];
|
||||
ASSIGNCOPY(urlString,_urlString);
|
||||
ASSIGNCOPY(baseURL,_baseURL);
|
||||
return self;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void)dealloc
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) dealloc
|
||||
{
|
||||
DESTROY(urlString);
|
||||
DESTROY(baseURL);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(id)copyWithZone: (NSZone*)zone
|
||||
//-----------------------------------------------------------------------------
|
||||
- (id) copyWithZone: (NSZone*)zone
|
||||
{
|
||||
if (NSShouldRetainWithZone(self, zone) == NO)
|
||||
return [[isa allocWithZone: zone] initWithString:urlString
|
||||
relativeToURL:baseURL];
|
||||
return [[isa allocWithZone: zone] initWithString: urlString
|
||||
relativeToURL: baseURL];
|
||||
else
|
||||
return [self retain];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void)encodeWithCoder:(NSCoder*)aCoder
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) encodeWithCoder: (NSCoder*)aCoder
|
||||
{
|
||||
[super encodeWithCoder: aCoder];
|
||||
[aCoder encodeObject:urlString];
|
||||
[aCoder encodeObject:baseURL];
|
||||
[aCoder encodeObject: urlString];
|
||||
[aCoder encodeObject: baseURL];
|
||||
//FIXME? clients ?
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(id)initWithCoder: (NSCoder*)aCoder
|
||||
//-----------------------------------------------------------------------------
|
||||
- (id) initWithCoder: (NSCoder*)aCoder
|
||||
{
|
||||
self = [super initWithCoder: aCoder];
|
||||
[aCoder decodeValueOfObjCType: @encode(id) at:&urlString];
|
||||
[aCoder decodeValueOfObjCType: @encode(id) at:&baseURL];
|
||||
[aCoder decodeValueOfObjCType: @encode(id) at: &urlString];
|
||||
[aCoder decodeValueOfObjCType: @encode(id) at: &baseURL];
|
||||
//FIXME? clients ?
|
||||
return self;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)description
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) description
|
||||
{
|
||||
NSString* dscr=urlString;
|
||||
if (baseURL)
|
||||
dscr=[dscr stringByAppendingFormat:@" -- %@",baseURL];
|
||||
dscr=[dscr stringByAppendingFormat: @" -- %@",baseURL];
|
||||
return dscr;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
// Non Standard Function
|
||||
-(NSString*)baseURLAbsolutePart
|
||||
- (NSString*) baseURLAbsolutePart
|
||||
{
|
||||
if (baseURL)
|
||||
{
|
||||
NSString* suffix=[baseURL path];
|
||||
NSString* tmp=nil;
|
||||
if ([baseURL query])
|
||||
suffix=[suffix stringByAppendingFormat:@"?%@",[baseURL query]];
|
||||
// /test?aa=bb&cc=dd -- http://user:passwd@www.gnustep.org:80/apache
|
||||
// ==> http://user:passwd@www.gnustep.org:80/
|
||||
tmp=[[baseURL absoluteString]stringWithoutSuffix:suffix];
|
||||
suffix=[suffix stringByAppendingFormat: @"?%@",[baseURL query]];
|
||||
// /test?aa=bb&cc=dd -- http: //user: passwd@www.gnustep.org: 80/apache
|
||||
// ==> http: //user: passwd@www.gnustep.org: 80/
|
||||
tmp=[[baseURL absoluteString]stringWithoutSuffix: suffix];
|
||||
|
||||
// ==> http://user:passwd@www.gnustep.org:80
|
||||
if ([tmp hasSuffix:@"/"])
|
||||
tmp=[tmp stringWithoutSuffix:@"/"];
|
||||
// ==> http: //user: passwd@www.gnustep.org: 80
|
||||
if ([tmp hasSuffix: @"/"])
|
||||
tmp=[tmp stringWithoutSuffix: @"/"];
|
||||
return tmp;
|
||||
}
|
||||
else
|
||||
return @"";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)absoluteString
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) absoluteString
|
||||
{
|
||||
NSString* absString=nil;
|
||||
if (baseURL)
|
||||
{
|
||||
// /test?aa=bb&cc=dd -- http://user:passwd@www.gnustep.org:80/apache
|
||||
// ==> http://user:passwd@www.gnustep.org:80
|
||||
// /test?aa=bb&cc=dd -- http: //user: passwd@www.gnustep.org: 80/apache
|
||||
// ==> http: //user: passwd@www.gnustep.org: 80
|
||||
absString=[self baseURLAbsolutePart];
|
||||
|
||||
if ([urlString hasPrefix:@"/"])
|
||||
absString=[absString stringByAppendingString:urlString];
|
||||
if ([urlString hasPrefix: @"/"])
|
||||
absString=[absString stringByAppendingString: urlString];
|
||||
else
|
||||
absString=[absString stringByAppendingFormat:@"/%@",urlString];
|
||||
absString=[absString stringByAppendingFormat: @"/%@",urlString];
|
||||
}
|
||||
else
|
||||
absString=urlString;
|
||||
return absString;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)relativeString
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) relativeString
|
||||
{
|
||||
return urlString;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSURL*)baseURL
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSURL*) baseURL
|
||||
{
|
||||
return baseURL;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSURL*)absoluteURL
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSURL*) absoluteURL
|
||||
{
|
||||
if (!baseURL)
|
||||
return self;
|
||||
else
|
||||
return [NSURL URLWithString:[self absoluteString]];
|
||||
};
|
||||
return [NSURL URLWithString: [self absoluteString]];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)scheme
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) scheme
|
||||
{
|
||||
NSString* scheme=nil;
|
||||
NSString* absoluteString=[self absoluteString];
|
||||
NSRange range=[absoluteString rangeOfString:@"://"];
|
||||
NSRange range=[absoluteString rangeOfString: @": //"];
|
||||
if (range.length>0)
|
||||
scheme=[absoluteString substringToIndex:range.location];
|
||||
scheme=[absoluteString substringToIndex: range.location];
|
||||
return scheme;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)resourceSpecifier
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) resourceSpecifier
|
||||
{
|
||||
NSString* absoluteString=[self absoluteString];
|
||||
NSRange range=[absoluteString rangeOfString:@"://"];
|
||||
NSRange range=[absoluteString rangeOfString: @": //"];
|
||||
if (range.length>0)
|
||||
return [absoluteString substringFromIndex:range.location+1];
|
||||
return [absoluteString substringFromIndex: range.location+1];
|
||||
else
|
||||
return absoluteString;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//Non Standard Function
|
||||
-(NSDictionary*)explode
|
||||
- (NSDictionary*) explode
|
||||
{
|
||||
NSMutableDictionary* elements=nil;
|
||||
NSString* resourceSpecifier=[self resourceSpecifier];
|
||||
if ([resourceSpecifier hasPrefix:@"//"])
|
||||
if ([resourceSpecifier hasPrefix: @"//"])
|
||||
{
|
||||
int index=2;
|
||||
NSRange range;
|
||||
elements=[[NSMutableDictionary new] autorelease];
|
||||
if (![[self scheme] isEqualToString:NSURLFileScheme])
|
||||
if (![[self scheme] isEqualToString: NSURLFileScheme])
|
||||
{
|
||||
range=[resourceSpecifier rangeOfString:@"/"
|
||||
options:0
|
||||
range:NSMakeRange(index,[resourceSpecifier length]-index)];
|
||||
range=[resourceSpecifier rangeOfString: @"/"
|
||||
options: 0
|
||||
range: NSMakeRange(index,[resourceSpecifier length]-index)];
|
||||
if (range.length>0)
|
||||
{
|
||||
NSString* userPasswordHostPort=[resourceSpecifier substringWithRange:NSMakeRange(index,range.location-index)];
|
||||
NSString* userPasswordHostPort=[resourceSpecifier substringWithRange: NSMakeRange(index,range.location-index)];
|
||||
NSString* userPassword=nil;
|
||||
NSString* hostPort=nil;
|
||||
index=range.location;
|
||||
range=[userPasswordHostPort rangeOfString:@"@"];
|
||||
range=[userPasswordHostPort rangeOfString: @"@"];
|
||||
if (range.length>0)
|
||||
{
|
||||
if (range.location>0)
|
||||
userPassword=[userPasswordHostPort substringToIndex:range.location];
|
||||
userPassword=[userPasswordHostPort substringToIndex: range.location];
|
||||
if (range.location+1<[userPasswordHostPort length])
|
||||
hostPort=[userPasswordHostPort substringFromIndex:range.location+1];
|
||||
hostPort=[userPasswordHostPort substringFromIndex: range.location+1];
|
||||
}
|
||||
else
|
||||
hostPort=userPasswordHostPort;
|
||||
if (userPassword)
|
||||
{
|
||||
range=[userPassword rangeOfString:@":"];
|
||||
range=[userPassword rangeOfString: @": "];
|
||||
if (range.length>0)
|
||||
{
|
||||
if (range.location>0)
|
||||
[elements setObject:[userPassword substringToIndex:range.location]
|
||||
forKey:NSURLPartKey_user];
|
||||
[elements setObject: [userPassword substringToIndex: range.location]
|
||||
forKey: NSURLPartKey_user];
|
||||
if (range.location+1<[userPassword length])
|
||||
[elements setObject:[userPassword substringFromIndex:range.location+1]
|
||||
forKey:NSURLPartKey_password];
|
||||
[elements setObject: [userPassword substringFromIndex: range.location+1]
|
||||
forKey: NSURLPartKey_password];
|
||||
}
|
||||
else
|
||||
[elements setObject:userPassword
|
||||
forKey:NSURLPartKey_user];
|
||||
};
|
||||
[elements setObject: userPassword
|
||||
forKey: NSURLPartKey_user];
|
||||
}
|
||||
|
||||
if (hostPort)
|
||||
{
|
||||
range=[hostPort rangeOfString:@":"];
|
||||
range=[hostPort rangeOfString: @": "];
|
||||
if (range.length>0)
|
||||
{
|
||||
if (range.location>0)
|
||||
[elements setObject:[hostPort substringToIndex:range.location]
|
||||
forKey:NSURLPartKey_host];
|
||||
[elements setObject: [hostPort substringToIndex: range.location]
|
||||
forKey: NSURLPartKey_host];
|
||||
if (range.location+1<[hostPort length])
|
||||
[elements setObject:[NSNumber valueFromString:
|
||||
[hostPort substringFromIndex:range.location+1]]
|
||||
forKey:NSURLPartKey_port];
|
||||
[elements setObject: [NSNumber valueFromString:
|
||||
[hostPort substringFromIndex: range.location+1]]
|
||||
forKey: NSURLPartKey_port];
|
||||
}
|
||||
else
|
||||
[elements setObject:hostPort
|
||||
forKey:NSURLPartKey_host];
|
||||
[elements setObject: hostPort
|
||||
forKey: NSURLPartKey_host];
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
else
|
||||
index--; //To Take a /
|
||||
range=[resourceSpecifier rangeOfString:@"?"
|
||||
options:0
|
||||
range:NSMakeRange(index,[resourceSpecifier length]-index)];
|
||||
range=[resourceSpecifier rangeOfString: @"?"
|
||||
options: 0
|
||||
range: NSMakeRange(index,[resourceSpecifier length]-index)];
|
||||
if (range.length>0)
|
||||
{
|
||||
if (range.location>0)
|
||||
[elements setObject:[resourceSpecifier substringWithRange:NSMakeRange(index,range.location-index)]
|
||||
forKey:NSURLPartKey_path];
|
||||
[elements setObject: [resourceSpecifier substringWithRange: NSMakeRange(index,range.location-index)]
|
||||
forKey: NSURLPartKey_path];
|
||||
if (range.location+1<[resourceSpecifier length])
|
||||
[elements setObject:[resourceSpecifier substringFromIndex:range.location+1]
|
||||
forKey:NSURLPartKey_query];
|
||||
[elements setObject: [resourceSpecifier substringFromIndex: range.location+1]
|
||||
forKey: NSURLPartKey_query];
|
||||
}
|
||||
else
|
||||
[elements setObject:[resourceSpecifier substringFromIndex:index]
|
||||
forKey:NSURLPartKey_path];
|
||||
[elements setObject: [resourceSpecifier substringFromIndex: index]
|
||||
forKey: NSURLPartKey_path];
|
||||
}
|
||||
else
|
||||
{
|
||||
[NSException raise:NSGenericException
|
||||
format:@"'%@' is a bad URL",self];
|
||||
};
|
||||
[NSException raise: NSGenericException
|
||||
format: @"'%@' is a bad URL",self];
|
||||
}
|
||||
return elements;
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)host
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) host
|
||||
{
|
||||
return [[self explode] objectForKey:NSURLPartKey_host];
|
||||
};
|
||||
return [[self explode] objectForKey: NSURLPartKey_host];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSNumber*)port;
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSNumber*) port;
|
||||
{
|
||||
return [[self explode] objectForKey:NSURLPartKey_port];
|
||||
};
|
||||
return [[self explode] objectForKey: NSURLPartKey_port];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)user;
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) user;
|
||||
{
|
||||
return [[self explode] objectForKey:NSURLPartKey_user];
|
||||
};
|
||||
return [[self explode] objectForKey: NSURLPartKey_user];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)password;
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) password;
|
||||
{
|
||||
return [[self explode] objectForKey:NSURLPartKey_password];
|
||||
};
|
||||
return [[self explode] objectForKey: NSURLPartKey_password];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)path;
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) path;
|
||||
{
|
||||
return [[self explode] objectForKey:NSURLPartKey_path];
|
||||
};
|
||||
return [[self explode] objectForKey: NSURLPartKey_path];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)fragment;
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) fragment;
|
||||
{
|
||||
return [[self explode] objectForKey:NSURLPartKey_fragment];
|
||||
};
|
||||
return [[self explode] objectForKey: NSURLPartKey_fragment];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)parameterString;
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) parameterString;
|
||||
{
|
||||
return [[self explode] objectForKey:NSURLPartKey_parameterString];
|
||||
};
|
||||
return [[self explode] objectForKey: NSURLPartKey_parameterString];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)query;
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) query;
|
||||
{
|
||||
return [[self explode] objectForKey:NSURLPartKey_query];
|
||||
};
|
||||
return [[self explode] objectForKey: NSURLPartKey_query];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSString*)relativePath
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSString*) relativePath
|
||||
{
|
||||
//FIXME?
|
||||
return [self path];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(BOOL)isFileURL
|
||||
//-----------------------------------------------------------------------------
|
||||
- (BOOL) isFileURL
|
||||
{
|
||||
return [[self scheme] isEqualToString:NSURLFileScheme];
|
||||
};
|
||||
return [[self scheme] isEqualToString: NSURLFileScheme];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSURL*)standardizedURL
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSURL*) standardizedURL
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
return nil;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void) URLHandle:(NSURLHandle*)sender
|
||||
resourceDataDidBecomeAvailable:(NSData*)newData
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) URLHandle: (NSURLHandle*)sender
|
||||
resourceDataDidBecomeAvailable: (NSData*)newData
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void)URLHandleResourceDidBeginLoading:(NSURLHandle*)sender
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void)URLHandleResourceDidBeginLoading: (NSURLHandle*)sender
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void)URLHandleResourceDidFinishLoading:(NSURLHandle*)sender
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void)URLHandleResourceDidFinishLoading: (NSURLHandle*)sender
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void)URLHandleResourceDidCancelLoading:(NSURLHandle*)sender
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void)URLHandleResourceDidCancelLoading: (NSURLHandle*)sender
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void) URLHandle:(NSURLHandle*)sender
|
||||
resourceDidFailLoadingWithReason:(NSString*)reason
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) URLHandle: (NSURLHandle*)sender
|
||||
resourceDidFailLoadingWithReason: (NSString*)reason
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
//FIXME: delete these fn when NSURL will be validated
|
||||
+(void)test
|
||||
+ (void) test
|
||||
{
|
||||
NSURL* url2;
|
||||
NSURL* url3;
|
||||
NSURL* url=[NSURL URLWithString:@"http://user:passwd@www.gnustep.org:80/apache"];
|
||||
url2=[NSURL URLWithString:@"/test?aa=bb&cc=dd" relativeToURL:url];
|
||||
url3=[NSURL URLWithString:@"test?aa=bb&cc=dd" relativeToURL:url];
|
||||
NSURL* url=[NSURL URLWithString: @"http: //user: passwd@www.gnustep.org: 80/apache"];
|
||||
url2=[NSURL URLWithString: @"/test?aa=bb&cc=dd" relativeToURL: url];
|
||||
url3=[NSURL URLWithString: @"test?aa=bb&cc=dd" relativeToURL: url];
|
||||
NSLog(@"===url===");
|
||||
[NSURL testPrint:url];
|
||||
[NSURL testPrint: url];
|
||||
NSLog(@"===url2===");
|
||||
[NSURL testPrint:url2];
|
||||
[NSURL testPrint: url2];
|
||||
NSLog(@"===url3===");
|
||||
[NSURL testPrint:url3];
|
||||
};
|
||||
[NSURL testPrint: url3];
|
||||
}
|
||||
|
||||
+(void)testPrint:(NSURL*)url
|
||||
+ (void) testPrint: (NSURL*)url
|
||||
{
|
||||
id _baseURL=nil;
|
||||
id _urlString=nil;
|
||||
|
@ -521,92 +522,97 @@ NSString* NSURLPartKey_query=@"query";
|
|||
NSLog(@"*scheme: %@",[url scheme]);
|
||||
NSLog(@"*resourceSpecifier: %@",[url resourceSpecifier]);
|
||||
NSLog(@"*description: %@",[url description]);
|
||||
};
|
||||
}
|
||||
@end
|
||||
|
||||
//===================================================================================
|
||||
//=============================================================================
|
||||
@implementation NSURL (NSURLLoading)
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSData*)resourceDataUsingCache:(BOOL)shouldUseCache
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSData*) resourceDataUsingCache: (BOOL)shouldUseCache
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
return nil;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void)loadResourceDataNotifyingClient:(id)client
|
||||
usingCache:(BOOL)shouldUseCache
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) loadResourceDataNotifyingClient: (id)client
|
||||
usingCache: (BOOL)shouldUseCache
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(NSURLHandle*)URLHandleUsingCache:(BOOL)shouldUseCache
|
||||
//-----------------------------------------------------------------------------
|
||||
- (NSURLHandle*)URLHandleUsingCache: (BOOL)shouldUseCache
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
return nil;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(BOOL)setResourceData:(NSData*)data
|
||||
//-----------------------------------------------------------------------------
|
||||
- (BOOL) setResourceData: (NSData*)data
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
return NO;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(id)propertyForKey:(NSString*)propertyKey
|
||||
//-----------------------------------------------------------------------------
|
||||
- (id) propertyForKey: (NSString*)propertyKey
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
return nil;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(BOOL)setProperty:(id)property
|
||||
forKey:(NSString*)propertyKey;
|
||||
//-----------------------------------------------------------------------------
|
||||
- (BOOL) setProperty: (id)property
|
||||
forKey: (NSString*)propertyKey;
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
return NO;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
//===================================================================================
|
||||
//=============================================================================
|
||||
@implementation NSObject (NSURLClient)
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void) URL:(NSURL*)sender
|
||||
resourceDataDidBecomeAvailable:(NSData*)newBytes
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) URL: (NSURL*)sender
|
||||
resourceDataDidBecomeAvailable: (NSData*)newBytes
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void)URLResourceDidFinishLoading:(NSURL*)sender
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) URLResourceDidFinishLoading: (NSURL*)sender
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void)URLResourceDidCancelLoading:(NSURL*)sender
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) URLResourceDidCancelLoading: (NSURL*)sender
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
-(void) URL:(NSURL*)sender
|
||||
resourceDidFailLoadingWithReason:(NSString*)reason
|
||||
//-----------------------------------------------------------------------------
|
||||
- (void) URL: (NSURL*)sender
|
||||
resourceDidFailLoadingWithReason: (NSString*)reason
|
||||
{
|
||||
//FIXME
|
||||
[self notImplemented: _cmd];
|
||||
};
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue