2 Copyright (C) 2000-2003 SKYRIX Software AG
4 This file is part of OGo
6 OGo is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with OGo; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 #include "NGMimeHeaderFieldParser.h"
24 #include "NGMimeHeaderFields.h"
25 #include "NGMimeUtilities.h"
28 @implementation NGMimeContentTypeHeaderFieldParser
30 static BOOL StripLeadingSpaces = NO;
31 static BOOL MimeLogEnabled = NO;
37 StripLeadingSpaces = [self doesStripLeadingSpaces];
38 MimeLogEnabled = [self isMIMELogEnabled];
41 - (id)parseValue:(NSString *)_data ofHeaderField:(NSString *)_field {
45 _data = [self removeCommentsFromValue:_data];
50 [self logWithFormat:@"WARNING(%s): empty value for header field %@ ..",
51 __PRETTY_FUNCTION__, _field];
53 return [NGMimeType mimeType:@"text/plain"];
56 if (StripLeadingSpaces) {
61 [_data getCharacters:src];
63 while (isRfc822_LWSP(src[cnt]) && (len > 0)) {
68 typeString = [[[NSString alloc] initWithCharacters:src+cnt length:len]
74 NSAssert(typeString, @"type string allocation failed ..");
76 return [NGMimeType mimeType:typeString];
81 - (NSString *)description {
82 return [NSString stringWithFormat:
83 @"<MimeContentTypeHeaderFieldParser: object=0x%08X>",
87 @end /* NGMimeContentTypeHeaderFieldParser */