︙ | | | ︙ | |
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
|
encoding: (of_string_encoding_t)encoding
{
return (id)[[OFString_UTF8 alloc] initWithContentsOfFile: path
encoding: encoding];
}
#endif
- initWithContentsOfURL: (OFURL*)URL
{
return (id)[[OFString_UTF8 alloc] initWithContentsOfURL: URL];
}
- initWithContentsOfURL: (OFURL*)URL
encoding: (of_string_encoding_t)encoding
{
return (id)[[OFString_UTF8 alloc] initWithContentsOfURL: URL
encoding: encoding];
}
- initWithSerialization: (OFXMLElement*)element
{
return (id)[[OFString_UTF8 alloc] initWithSerialization: element];
}
- retain
|
>
>
|
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
|
encoding: (of_string_encoding_t)encoding
{
return (id)[[OFString_UTF8 alloc] initWithContentsOfFile: path
encoding: encoding];
}
#endif
#if defined(OF_HAVE_FILES) || defined(OF_HAVE_SOCKETS)
- initWithContentsOfURL: (OFURL*)URL
{
return (id)[[OFString_UTF8 alloc] initWithContentsOfURL: URL];
}
- initWithContentsOfURL: (OFURL*)URL
encoding: (of_string_encoding_t)encoding
{
return (id)[[OFString_UTF8 alloc] initWithContentsOfURL: URL
encoding: encoding];
}
#endif
- initWithSerialization: (OFXMLElement*)element
{
return (id)[[OFString_UTF8 alloc] initWithSerialization: element];
}
- retain
|
︙ | | | ︙ | |
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
|
encoding: (of_string_encoding_t)encoding
{
return [[[self alloc] initWithContentsOfFile: path
encoding: encoding] autorelease];
}
#endif
+ (instancetype)stringWithContentsOfURL: (OFURL*)URL
{
return [[[self alloc] initWithContentsOfURL: URL] autorelease];
}
+ (instancetype)stringWithContentsOfURL: (OFURL*)URL
encoding: (of_string_encoding_t)encoding
{
return [[[self alloc] initWithContentsOfURL: URL
encoding: encoding] autorelease];
}
+ (OFString*)pathWithComponents: (OFArray*)components
{
OFMutableString *ret = [OFMutableString string];
void *pool = objc_autoreleasePoolPush();
OFEnumerator *enumerator = [components objectEnumerator];
OFString *component;
|
>
>
|
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
|
encoding: (of_string_encoding_t)encoding
{
return [[[self alloc] initWithContentsOfFile: path
encoding: encoding] autorelease];
}
#endif
#if defined(OF_HAVE_FILES) || defined(OF_HAVE_SOCKETS)
+ (instancetype)stringWithContentsOfURL: (OFURL*)URL
{
return [[[self alloc] initWithContentsOfURL: URL] autorelease];
}
+ (instancetype)stringWithContentsOfURL: (OFURL*)URL
encoding: (of_string_encoding_t)encoding
{
return [[[self alloc] initWithContentsOfURL: URL
encoding: encoding] autorelease];
}
#endif
+ (OFString*)pathWithComponents: (OFArray*)components
{
OFMutableString *ret = [OFMutableString string];
void *pool = objc_autoreleasePoolPush();
OFEnumerator *enumerator = [components objectEnumerator];
OFString *component;
|
︙ | | | ︙ | |
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
|
length: (size_t)st.st_size];
[self freeMemory: tmp];
return self;
}
#endif
- initWithContentsOfURL: (OFURL*)URL
{
return [self initWithContentsOfURL: URL
encoding: OF_STRING_ENCODING_AUTODETECT];
}
- initWithContentsOfURL: (OFURL*)URL
encoding: (of_string_encoding_t)encoding
{
void *pool;
OFString *scheme;
#ifdef OF_HAVE_FILES
Class c = [self class];
#endif
[self release];
pool = objc_autoreleasePoolPush();
scheme = [URL scheme];
#ifdef OF_HAVE_FILES
if ([scheme isEqual: @"file"]) {
if (encoding == OF_STRING_ENCODING_AUTODETECT)
encoding = OF_STRING_ENCODING_UTF_8;
self = [[c alloc] initWithContentsOfFile: [URL path]
encoding: encoding];
} else
#endif
#ifdef OF_HAVE_SOCKETS
if ([scheme isEqual: @"http"] || [scheme isEqual: @"https"]) {
OFHTTPClient *client = [OFHTTPClient client];
OFHTTPRequest *request = [OFHTTPRequest requestWithURL: URL];
OFHTTPResponse *response = [client performRequest: request];
OFDictionary *headers;
OFString *contentType, *contentLength;
OFDataArray *data;
|
>
|
|
|
|
|
|
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
|
length: (size_t)st.st_size];
[self freeMemory: tmp];
return self;
}
#endif
#if defined(OF_HAVE_FILES) || defined(OF_HAVE_SOCKETS)
- initWithContentsOfURL: (OFURL*)URL
{
return [self initWithContentsOfURL: URL
encoding: OF_STRING_ENCODING_AUTODETECT];
}
- initWithContentsOfURL: (OFURL*)URL
encoding: (of_string_encoding_t)encoding
{
void *pool;
OFString *scheme;
# ifdef OF_HAVE_FILES
Class c = [self class];
# endif
[self release];
pool = objc_autoreleasePoolPush();
scheme = [URL scheme];
# ifdef OF_HAVE_FILES
if ([scheme isEqual: @"file"]) {
if (encoding == OF_STRING_ENCODING_AUTODETECT)
encoding = OF_STRING_ENCODING_UTF_8;
self = [[c alloc] initWithContentsOfFile: [URL path]
encoding: encoding];
} else
# endif
# ifdef OF_HAVE_SOCKETS
if ([scheme isEqual: @"http"] || [scheme isEqual: @"https"]) {
OFHTTPClient *client = [OFHTTPClient client];
OFHTTPRequest *request = [OFHTTPRequest requestWithURL: URL];
OFHTTPResponse *response = [client performRequest: request];
OFDictionary *headers;
OFString *contentType, *contentLength;
OFDataArray *data;
|
︙ | | | ︙ | |
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
|
(size_t)[contentLength decimalValue])
@throw [OFTruncatedDataException exception];
self = [[c alloc] initWithCString: (char*)[data items]
encoding: encoding
length: [data count]];
} else
#endif
@throw [OFUnsupportedProtocolException exception];
objc_autoreleasePoolPop(pool);
return self;
}
- initWithSerialization: (OFXMLElement*)element
{
@try {
void *pool = objc_autoreleasePoolPush();
if (![[element namespace] isEqual: OF_SERIALIZATION_NS])
|
|
>
|
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
|
(size_t)[contentLength decimalValue])
@throw [OFTruncatedDataException exception];
self = [[c alloc] initWithCString: (char*)[data items]
encoding: encoding
length: [data count]];
} else
# endif
@throw [OFUnsupportedProtocolException exception];
objc_autoreleasePoolPop(pool);
return self;
}
#endif
- initWithSerialization: (OFXMLElement*)element
{
@try {
void *pool = objc_autoreleasePoolPush();
if (![[element namespace] isEqual: OF_SERIALIZATION_NS])
|
︙ | | | ︙ | |