Renamed "filePath" to "temporaryPath"

This commit is contained in:
Pierre-Olivier Latour
2014-04-09 13:46:43 -07:00
parent 30eb01ca6f
commit e49b9219ea
3 changed files with 16 additions and 10 deletions

View File

@ -28,5 +28,5 @@
#import "GCDWebServerRequest.h" #import "GCDWebServerRequest.h"
@interface GCDWebServerFileRequest : GCDWebServerRequest @interface GCDWebServerFileRequest : GCDWebServerRequest
@property(nonatomic, readonly) NSString* filePath; @property(nonatomic, readonly) NSString* temporaryPath;
@end @end

View File

@ -29,7 +29,7 @@
@interface GCDWebServerFileRequest () { @interface GCDWebServerFileRequest () {
@private @private
NSString* _filePath; NSString* _temporaryPath;
int _file; int _file;
} }
@end @end
@ -40,24 +40,24 @@ static inline NSError* _MakePosixError(int code) {
@implementation GCDWebServerFileRequest @implementation GCDWebServerFileRequest
@synthesize filePath=_filePath; @synthesize temporaryPath=_temporaryPath;
- (instancetype)initWithMethod:(NSString*)method url:(NSURL*)url headers:(NSDictionary*)headers path:(NSString*)path query:(NSDictionary*)query { - (instancetype)initWithMethod:(NSString*)method url:(NSURL*)url headers:(NSDictionary*)headers path:(NSString*)path query:(NSDictionary*)query {
if ((self = [super initWithMethod:method url:url headers:headers path:path query:query])) { if ((self = [super initWithMethod:method url:url headers:headers path:path query:query])) {
_filePath = ARC_RETAIN([NSTemporaryDirectory() stringByAppendingPathComponent:[[NSProcessInfo processInfo] globallyUniqueString]]); _temporaryPath = ARC_RETAIN([NSTemporaryDirectory() stringByAppendingPathComponent:[[NSProcessInfo processInfo] globallyUniqueString]]);
} }
return self; return self;
} }
- (void)dealloc { - (void)dealloc {
unlink([_filePath fileSystemRepresentation]); unlink([_temporaryPath fileSystemRepresentation]);
ARC_RELEASE(_filePath); ARC_RELEASE(_temporaryPath);
ARC_DEALLOC(super); ARC_DEALLOC(super);
} }
- (BOOL)open:(NSError**)error { - (BOOL)open:(NSError**)error {
_file = open([_filePath fileSystemRepresentation], O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); _file = open([_temporaryPath fileSystemRepresentation], O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
if (_file <= 0) { if (_file <= 0) {
*error = _MakePosixError(errno); *error = _MakePosixError(errno);
return NO; return NO;
@ -81,4 +81,10 @@ static inline NSError* _MakePosixError(int code) {
return YES; return YES;
} }
- (NSString*)description {
NSMutableString* description = [NSMutableString stringWithString:[super description]];
[description appendFormat:@"\n\n{%@}", _temporaryPath];
return description;
}
@end @end

View File

@ -125,13 +125,13 @@ static inline BOOL _IsMacFinder(GCDWebServerRequest* request) {
return [GCDWebServerErrorResponse responseWithClientError:kGCDWebServerHTTPStatusCode_Forbidden message:@"Uploaded file name \"%@\" is not allowed", fileName]; return [GCDWebServerErrorResponse responseWithClientError:kGCDWebServerHTTPStatusCode_Forbidden message:@"Uploaded file name \"%@\" is not allowed", fileName];
} }
if (![self shouldUploadFileAtPath:absolutePath withTemporaryFile:request.filePath]) { if (![self shouldUploadFileAtPath:absolutePath withTemporaryFile:request.temporaryPath]) {
return [GCDWebServerErrorResponse responseWithClientError:kGCDWebServerHTTPStatusCode_Forbidden message:@"Uploading file to \"%@\" is not allowed", relativePath]; return [GCDWebServerErrorResponse responseWithClientError:kGCDWebServerHTTPStatusCode_Forbidden message:@"Uploading file to \"%@\" is not permitted", relativePath];
} }
[[NSFileManager defaultManager] removeItemAtPath:absolutePath error:NULL]; [[NSFileManager defaultManager] removeItemAtPath:absolutePath error:NULL];
NSError* error = nil; NSError* error = nil;
if (![[NSFileManager defaultManager] moveItemAtPath:request.filePath toPath:absolutePath error:&error]) { if (![[NSFileManager defaultManager] moveItemAtPath:request.temporaryPath toPath:absolutePath error:&error]) {
return [GCDWebServerErrorResponse responseWithServerError:kGCDWebServerHTTPStatusCode_InternalServerError underlyingError:error message:@"Failed moving uploaded file to \"%@\"", relativePath]; return [GCDWebServerErrorResponse responseWithServerError:kGCDWebServerHTTPStatusCode_InternalServerError underlyingError:error message:@"Failed moving uploaded file to \"%@\"", relativePath];
} }