NS_INLINE BOOL TNLXFormDataEntryAppendFile()

in TNLExample/TNLXMultipartFormData.m [59:80]


NS_INLINE BOOL TNLXFormDataEntryAppendFile(NSString *filePath, id dataOrTemporaryFile, NSError ** outError)
{
    NSError *theError = nil;

    NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
    if (!fileHandle) {
        theError = TNLXMultipartFormDataErrorCreateWithCodeAndUnderlyingError(TNLXMultipartFormDataErrorCodeInvalidFormDataEntry, [NSError errorWithDomain:NSPOSIXErrorDomain code:ENOENT userInfo:nil]);
    } else {
        do {
            @autoreleasepool {
                NSData *data = [fileHandle readDataOfLength:UINT16_MAX];
                if (!data.length) {
                    break;
                }
                TNLXFormDataEntryAppendData(data, dataOrTemporaryFile, &theError);
            }
        } while (!theError);
        [fileHandle closeFile];
    }

    return !theError;
}