mirror of
https://github.com/MacPaw/XADMaster.git
synced 2025-08-28 19:13:49 +02:00
Due to an error in the spec, most implementations of WARC 1.0 don't surround the contents of the WARC-Target-URI field with angle brackets even though they're required to do so. There are some tools that do respect this requirement, such as newer versions of GNU Wget. Since both variants are in use, it's best to just strip angle brackets when they're present. Reference: https://github.com/iipc/warc-specifications/issues/23
43 lines
1.7 KiB
Objective-C
43 lines
1.7 KiB
Objective-C
/*
|
|
* XADWARCParser.h
|
|
*
|
|
* Copyright (c) 2017-present, MacPaw Inc. All rights reserved.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
|
* MA 02110-1301 USA
|
|
*/
|
|
#import "XADArchiveParser.h"
|
|
|
|
@interface XADWARCParser:XADArchiveParser
|
|
{
|
|
}
|
|
|
|
+(int)requiredHeaderSize;
|
|
+(BOOL)recognizeFileWithHandle:(CSHandle *)handle firstBytes:(NSData *)data name:(NSString *)name;
|
|
|
|
-(void)parse;
|
|
-(NSMutableDictionary *)parseHTTPHeadersWithHandle:(CSHandle *)handle;
|
|
-(NSArray *)readHTTPHeadersWithHandle:(CSHandle *)handle;
|
|
|
|
-(NSString *)getTargetURI:(NSDictionary *)record;
|
|
-(NSArray *)pathComponentsForURLString:(NSString *)urlstring;
|
|
-(NSMutableDictionary *)insertDirectory:(NSString *)name inDirectory:(NSMutableDictionary *)dir;
|
|
-(void)insertFile:(NSString *)name record:(NSMutableDictionary *)record inDirectory:(NSMutableDictionary *)dir;
|
|
-(void)buildXADPathsForFilesInDirectory:(NSMutableDictionary *)dir parentPath:(XADPath *)parent;
|
|
|
|
-(CSHandle *)handleForEntryWithDictionary:(NSDictionary *)dict wantChecksum:(BOOL)checksum;
|
|
-(NSString *)formatName;
|
|
|
|
@end
|