epoc32/include/httperr.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@2
     4
// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2
     5
// which accompanies this distribution, and is available
williamr@2
     6
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
//
williamr@2
    15
williamr@2
    16
williamr@2
    17
williamr@2
    18
/**
williamr@2
    19
 @file httperr.h
williamr@2
    20
 @warning : This file contains Rose Model ID comments - please do not delete
williamr@2
    21
*/
williamr@2
    22
williamr@2
    23
#ifndef __HTTPERR_H__
williamr@2
    24
#define __HTTPERR_H__
williamr@2
    25
williamr@2
    26
// System includes
williamr@2
    27
#include <e32std.h>
williamr@2
    28
williamr@2
    29
//##ModelId=3C4C18750141
williamr@2
    30
class HTTPStatus
williamr@2
    31
/** 
williamr@2
    32
The complete set of HTTP Status codes, as defined in RFC2616.
williamr@2
    33
@publishedAll
williamr@2
    34
@released
williamr@2
    35
*/
williamr@2
    36
	{
williamr@2
    37
public:
williamr@2
    38
	enum 
williamr@2
    39
		{
williamr@2
    40
		/** 'Informational' range of codes 1xx 
williamr@2
    41
		*/ 
williamr@2
    42
		/** Continue.
williamr@2
    43
		*/
williamr@2
    44
		EContinue						= 100, 
williamr@2
    45
		/** Switching Protocols.
williamr@2
    46
		*/
williamr@2
    47
		ESwitchingProtocols				= 101,  
williamr@2
    48
		/** 'Successful' range of codes 2xx 
williamr@2
    49
		*/
williamr@2
    50
		/** Ok.
williamr@2
    51
		*/
williamr@2
    52
		EOk								= 200,
williamr@2
    53
		/** Created.
williamr@2
    54
		*/
williamr@2
    55
		ECreated						= 201,  
williamr@2
    56
		/** The entry has been accepted.
williamr@2
    57
		*/
williamr@2
    58
		EAccepted						= 202,
williamr@2
    59
		/** Non-Authoritative Information.
williamr@2
    60
		*/
williamr@2
    61
		ENonAuthoritativeInfo			= 203,
williamr@2
    62
		/** No Content.
williamr@2
    63
		*/
williamr@2
    64
		ENoContent						= 204,
williamr@2
    65
		/** Reset Content.
williamr@2
    66
		*/
williamr@2
    67
		EResetContent					= 205, 
williamr@2
    68
		/** Partial Content.
williamr@2
    69
		*/
williamr@2
    70
		EPartialContent					= 206,
williamr@2
    71
		/** 'Redirection' range of codes 3xx 
williamr@2
    72
		*/
williamr@2
    73
		/** Multiple Choices.
williamr@2
    74
		*/
williamr@2
    75
		EMultipleChoices				= 300, 
williamr@2
    76
		/** Moved Permanently.
williamr@2
    77
		*/
williamr@2
    78
		EMovedPermanently				= 301,
williamr@2
    79
		/** Found.
williamr@2
    80
		Note, this is deprecated in HTTP/1.1 - 307 will be used instead
williamr@2
    81
		*/
williamr@2
    82
		EFound							= 302,  
williamr@2
    83
		/** See Other.
williamr@2
    84
		*/
williamr@2
    85
		ESeeOther						= 303,
williamr@2
    86
		/** Not Modified.
williamr@2
    87
		*/
williamr@2
    88
		ENotModified					= 304,
williamr@2
    89
		/** Use Proxy.
williamr@2
    90
		*/
williamr@2
    91
		EUseProxy						= 305,
williamr@2
    92
		/** Unused.
williamr@2
    93
		*/
williamr@2
    94
		EUnused							= 306,
williamr@2
    95
		/** Temporary Redirect.
williamr@2
    96
		*/
williamr@2
    97
		ETemporaryRedirect				= 307,
williamr@2
    98
		/** 'Client Error' range of codes 4xx 
williamr@2
    99
		*/
williamr@2
   100
		/** Bad Request.
williamr@2
   101
		*/
williamr@2
   102
		EBadRequest						= 400,
williamr@2
   103
		/** Unauthorized.
williamr@2
   104
		*/
williamr@2
   105
		EUnauthorized					= 401,
williamr@2
   106
		/** Payment Required. Note, this is reserved in HTTP/1.1
williamr@2
   107
		*/
williamr@2
   108
		EPaymentRequired				= 402, 
williamr@2
   109
		/** Forbidden.
williamr@2
   110
		*/
williamr@2
   111
		EForbidden						= 403,
williamr@2
   112
		/** Not Found.
williamr@2
   113
		*/
williamr@2
   114
		ENotFound						= 404,
williamr@2
   115
		/** Method Not Allowed.
williamr@2
   116
		*/
williamr@2
   117
		EMethodNotAllowed				= 405,
williamr@2
   118
		/** Not Acceptable.
williamr@2
   119
		*/
williamr@2
   120
		ENotAcceptable					= 406,
williamr@2
   121
		/** Proxy Authentication Required.
williamr@2
   122
		*/
williamr@2
   123
		EProxyAuthenticationRequired	= 407,
williamr@2
   124
		/** Request Timeout.
williamr@2
   125
		*/
williamr@2
   126
		ERequestTimeout					= 408,
williamr@2
   127
		/** Conflict.
williamr@2
   128
		*/
williamr@2
   129
		EConflict						= 409,
williamr@2
   130
		/** Gone.
williamr@2
   131
		*/
williamr@2
   132
		EGone							= 410,
williamr@2
   133
		/** Length Required.
williamr@2
   134
		*/
williamr@2
   135
		ELengthRequired					= 411,
williamr@2
   136
		/** Precondition Failed.
williamr@2
   137
		*/
williamr@2
   138
		EPreconditionFailed				= 412,
williamr@2
   139
		/** Request Entity Too Large. 
williamr@2
   140
		*/
williamr@2
   141
		ERequestEntityTooLarge			= 413,
williamr@2
   142
		/** Request-URI Too Long.
williamr@2
   143
		*/
williamr@2
   144
		ERequestURITooLong				= 414,
williamr@2
   145
		/** Unsupported Media Type.
williamr@2
   146
		*/
williamr@2
   147
		EUnsupportedMediaType			= 415,
williamr@2
   148
		/** Requested Range Not Satisfiable.
williamr@2
   149
		*/
williamr@2
   150
		ERequestedRangeNotSatisfiable	= 416,
williamr@2
   151
		/** Expectation Failed.
williamr@2
   152
		*/
williamr@2
   153
		EExpectationFailed				= 417,
williamr@2
   154
		/** 'Server Error' range of codes 5xx 
williamr@2
   155
		*/
williamr@2
   156
		/** Internal Server Error.
williamr@2
   157
		*/
williamr@2
   158
		EInternalServerError			= 500,
williamr@2
   159
		/** Not Implemented.
williamr@2
   160
		*/
williamr@2
   161
		ENotImplemented					= 501,
williamr@2
   162
		/** Bad Gateway.
williamr@2
   163
		*/
williamr@2
   164
		EBadGateway						= 502,
williamr@2
   165
		/** Service Unavailable.
williamr@2
   166
		*/
williamr@2
   167
		EServiceUnavailable				= 503, 
williamr@2
   168
		/** Gateway Timeout.
williamr@2
   169
		*/
williamr@2
   170
		EGatewayTimeout					= 504,
williamr@2
   171
		/** HTTP Version Not Supported.
williamr@2
   172
		*/
williamr@2
   173
		EHTTPVersionNotSupported		= 505
williamr@2
   174
		};
williamr@2
   175
williamr@2
   176
		/** Is the supplied status code in the 1xx Informational range?
williamr@2
   177
		@param aStatus Is the supplied status code in the 1xx Informational range?
williamr@2
   178
		@return ETrue if the specified status code is in the 1xx Informational range.
williamr@2
   179
		##ModelId=3C4C18750162
williamr@2
   180
		*/
williamr@2
   181
		inline static TBool IsInformational(TInt aStatus);
williamr@2
   182
		
williamr@2
   183
		
williamr@2
   184
		/** Is the supplied status code in the 2xx Successful range?
williamr@2
   185
		@param aStatus Is the supplied status code in the 2xx Successful range?
williamr@2
   186
		@return ETrue if the specified status code is in the 2xx Successful range
williamr@2
   187
		##ModelId=3C4C18750160
williamr@2
   188
		*/
williamr@2
   189
		inline static TBool IsSuccessful(TInt aStatus);
williamr@2
   190
williamr@2
   191
		/** Is the supplied status code in the 3xx Redirection range? 
williamr@2
   192
		@param aStatus Is the supplied status code in the 3xx Redirection range?
williamr@2
   193
		@return	ETrue if the specified status code is in the 3xx Redirection range.
williamr@2
   194
		##ModelId=3C4C18750159
williamr@2
   195
		*/
williamr@2
   196
		inline static TBool IsRedirection(TInt aStatus);
williamr@2
   197
williamr@2
   198
		/** Is the supplied status code in the 4xx Client Error range? 
williamr@2
   199
		@param aStatus Is the supplied status code in the 4xx Client Error range?
williamr@2
   200
		@return ETrue if the specified status code is in the 4xx Client Error range.
williamr@2
   201
		##ModelId=3C4C18750157
williamr@2
   202
		*/
williamr@2
   203
		inline static TBool IsClientError(TInt aStatus);
williamr@2
   204
williamr@2
   205
		/** Is the supplied status code in the 5xx Server Error range? 
williamr@2
   206
		@param aStatus Is the supplied status code in the 5xx Server Error range?
williamr@2
   207
		@return ETrue if the specified status code is in the 5xx Server Error range.
williamr@2
   208
		##ModelId=3C4C18750155
williamr@2
   209
		*/
williamr@2
   210
		inline static TBool IsServerError(TInt aStatus);
williamr@2
   211
	};
williamr@2
   212
williamr@2
   213
//
williamr@2
   214
// HTTP Panic codes
williamr@2
   215
//
williamr@2
   216
williamr@2
   217
#include <e32base.h>
williamr@2
   218
williamr@2
   219
// HTTPPanic::Panic(HTTPPanic:: )
williamr@2
   220
williamr@2
   221
//##ModelId=3C4C18740352
williamr@2
   222
class HTTPPanic
williamr@2
   223
/**
williamr@2
   224
HTTP panic codes
williamr@2
   225
@publishedAll
williamr@2
   226
@released
williamr@2
   227
*/
williamr@2
   228
	{
williamr@2
   229
public:
williamr@2
   230
	enum THTTPPanic
williamr@2
   231
		{
williamr@2
   232
		/** RHTTPSession session is already open. ( Panic HTTP-CORE 0 )
williamr@2
   233
		*/
williamr@2
   234
		ESessionAlreadyOpen,
williamr@2
   235
		/** Specified field is missing. ( Panic HTTP-CORE 1 )
williamr@2
   236
		*/
williamr@2
   237
		EHeaderFieldMissing,
williamr@2
   238
		/** Unused. ( Panic HTTP-CORE 2 )
williamr@2
   239
		*/
williamr@2
   240
		EHeaderParamMissing,
williamr@2
   241
		/** Unused. ( Panic HTTP-CORE 2 )
williamr@2
   242
		*/
williamr@2
   243
		EHeaderInvalidPart,
williamr@2
   244
		/** Mismatch between header's type and its attempted use. ( Panic HTTP-CORE 4 )
williamr@2
   245
		*/
williamr@2
   246
		EHeaderInvalidType,
williamr@2
   247
		/** Unused. ( Panic HTTP-CORE 5 )
williamr@2
   248
		*/
williamr@2
   249
		ETransactionEventOutstanding,
williamr@2
   250
		/** A transaction error occurred, and the MHFRunError() in use didn't handle it. ( Panic HTTP-CORE 6 )
williamr@2
   251
		*/
williamr@2
   252
		ETransactionUnhandledError,
williamr@2
   253
		/** Attempted to add a filter while there is a transaction outstanding. ( Panic HTTP-CORE 6 )
williamr@2
   254
		*/
williamr@2
   255
		EAddingFilterWithOutstandingTransactions,
williamr@2
   256
		/** Attempted to add a filter at a position not between the protocol handler and the client. ( Panic HTTP-CORE 8 )
williamr@2
   257
		*/
williamr@2
   258
		EFilterInvalidPosition,
williamr@2
   259
		/** CHTTPEncoder object destroyed without its data being released. ( Panic HTTP-CORE 9 )
williamr@2
   260
		*/
williamr@2
   261
		EHTTPFormDataUnreleased,
williamr@2
   262
		/** CHTTPEncoder object at the wrong state for adding data. ( Panic HTTP-CORE 10 ) 
williamr@2
   263
		*/
williamr@2
   264
		EHTTPFormSupplyingData,
williamr@2
   265
		/** Unused. ( Panic HTTP-CORE 11 )
williamr@2
   266
		*/
williamr@2
   267
		EValidationFilterFailure,
williamr@2
   268
		/** Invalid request data. ( Panic HTTP-CORE 12 )
williamr@2
   269
		*/
williamr@2
   270
		EInvalidTxData,
williamr@2
   271
		/** Invalid response data. ( Panic HTTP-CORE 13 )
williamr@2
   272
		*/
williamr@2
   273
		EInvalidRxData,
williamr@2
   274
		/** Unused. ( Panic HTTP-CORE 14 )
williamr@2
   275
		*/
williamr@2
   276
		ENoTransportHandlerSet,
williamr@2
   277
		/** Unused. ( Panic HTTP-CORE 15 )
williamr@2
   278
		*/
williamr@2
   279
		EAuthenticationFilterBadState,
williamr@2
   280
		/** An invalid filter handle was specified. ( Panic HTTP-CORE 16 )
williamr@2
   281
		*/
williamr@2
   282
		EInvalidFilterHandle
williamr@2
   283
		};
williamr@2
   284
williamr@2
   285
	//##ModelId=3C4C18740366
williamr@2
   286
	static void Panic(THTTPPanic aPanic);
williamr@2
   287
	};
williamr@2
   288
williamr@2
   289
// HTTP external errors/leave codes. Add new sub-ranges at the end; do not insert between the sub-ranges that
williamr@2
   290
// are already here.  This is to allow a client to reasonably check for errors between two adjacent range
williamr@2
   291
// base values rather than check for individual codes.
williamr@2
   292
williamr@2
   293
/**
williamr@2
   294
Base value for the HTTP error code range (-7200 to -7399)
williamr@2
   295
@publishedAll
williamr@2
   296
@released
williamr@2
   297
*/
williamr@2
   298
const TInt KHttpErrorBase = -7200;
williamr@2
   299
williamr@2
   300
//
williamr@2
   301
// Text mode HTTP protocol handler
williamr@2
   302
//
williamr@2
   303
williamr@2
   304
/**
williamr@2
   305
Codec encoding errors for HTTP headers
williamr@2
   306
@publishedAll
williamr@2
   307
@released
williamr@2
   308
*/
williamr@2
   309
const TInt KHttpHeaderEncodeErrorBase = KHttpErrorBase;
williamr@2
   310
williamr@2
   311
/**
williamr@2
   312
Error making a default encoding of unrecognised headers
williamr@2
   313
@publishedAll
williamr@2
   314
@released
williamr@2
   315
*/
williamr@2
   316
const TInt KErrHttpEncodeDefault			= KHttpHeaderEncodeErrorBase;
williamr@2
   317
/**
williamr@2
   318
Error encoding the Accept field
williamr@2
   319
@publishedAll
williamr@2
   320
@released
williamr@2
   321
*/
williamr@2
   322
const TInt KErrHttpEncodeAccept				= KHttpHeaderEncodeErrorBase - 1; 
williamr@2
   323
/**
williamr@2
   324
Error encoding the Accept-Charset field
williamr@2
   325
@publishedAll
williamr@2
   326
@released
williamr@2
   327
*/
williamr@2
   328
const TInt KErrHttpEncodeAcceptCharset		= KHttpHeaderEncodeErrorBase - 2; 
williamr@2
   329
/**
williamr@2
   330
Error encoding a q-value parameter
williamr@2
   331
@publishedAll
williamr@2
   332
@released
williamr@2
   333
*/
williamr@2
   334
const TInt KErrHttpEncodeQValue				= KHttpHeaderEncodeErrorBase - 3; 
williamr@2
   335
/**
williamr@2
   336
Error encoding the Authorization field
williamr@2
   337
@publishedAll
williamr@2
   338
@released
williamr@2
   339
*/
williamr@2
   340
const TInt KErrHttpEncodeAuthorization		= KHttpHeaderEncodeErrorBase - 4; 
williamr@2
   341
/**
williamr@2
   342
Error encoding Basic credentials
williamr@2
   343
@publishedAll
williamr@2
   344
@released
williamr@2
   345
*/
williamr@2
   346
const TInt KErrHttpEncodeBasicAuth			= KHttpHeaderEncodeErrorBase - 5; 
williamr@2
   347
/**
williamr@2
   348
Error encoding Digest credentials
williamr@2
   349
@publishedAll
williamr@2
   350
@released
williamr@2
   351
*/
williamr@2
   352
const TInt KErrHttpEncodeDigestAuth			= KHttpHeaderEncodeErrorBase - 6; 
williamr@2
   353
/**
williamr@2
   354
Error encoding the Connection field
williamr@2
   355
@publishedAll
williamr@2
   356
@released
williamr@2
   357
*/
williamr@2
   358
const TInt KErrHttpEncodeConnection			= KHttpHeaderEncodeErrorBase - 7; 
williamr@2
   359
/**
williamr@2
   360
Error encoding the Content-Length field
williamr@2
   361
@publishedAll
williamr@2
   362
@released
williamr@2
   363
*/
williamr@2
   364
const TInt KErrHttpEncodeContentLength		= KHttpHeaderEncodeErrorBase - 8; 
williamr@2
   365
/**
williamr@2
   366
Error encoding the Content-Type field
williamr@2
   367
@publishedAll
williamr@2
   368
@released
williamr@2
   369
*/
williamr@2
   370
const TInt KErrHttpEncodeContentType		= KHttpHeaderEncodeErrorBase - 9; 
williamr@2
   371
/**
williamr@2
   372
Error encoding the Host field
williamr@2
   373
@publishedAll
williamr@2
   374
@released
williamr@2
   375
*/
williamr@2
   376
const TInt KErrHttpEncodeHost				= KHttpHeaderEncodeErrorBase - 10;
williamr@2
   377
/**
williamr@2
   378
Error encoding the Host field's port parameter
williamr@2
   379
@publishedAll
williamr@2
   380
@released
williamr@2
   381
*/
williamr@2
   382
const TInt KErrHttpEncodeHostPort			= KHttpHeaderEncodeErrorBase - 11;
williamr@2
   383
/**
williamr@2
   384
Error encoding the Transfer-Encoding field
williamr@2
   385
@publishedAll
williamr@2
   386
@released
williamr@2
   387
*/
williamr@2
   388
const TInt KErrHttpEncodeTransferEncoding	= KHttpHeaderEncodeErrorBase - 12;
williamr@2
   389
/**
williamr@2
   390
Error encoding the User-Agent field
williamr@2
   391
@publishedAll
williamr@2
   392
@released
williamr@2
   393
*/
williamr@2
   394
const TInt KErrHttpEncodeUserAgent			= KHttpHeaderEncodeErrorBase - 13;
williamr@2
   395
/**
williamr@2
   396
Error encoding the Date field
williamr@2
   397
@publishedAll
williamr@2
   398
@released
williamr@2
   399
*/
williamr@2
   400
const TInt KErrHttpEncodeDate				= KHttpHeaderEncodeErrorBase - 14;
williamr@2
   401
/**
williamr@2
   402
Error encoding the Cookie field 
williamr@2
   403
@publishedAll
williamr@2
   404
@released
williamr@2
   405
*/
williamr@2
   406
const TInt KErrHttpEncodeCookie				= KHttpHeaderEncodeErrorBase - 15;
williamr@2
   407
/**
williamr@2
   408
Error encoding the Cache-Control field
williamr@2
   409
@publishedAll
williamr@2
   410
@released
williamr@2
   411
*/
williamr@2
   412
const TInt KErrHttpEncodeCacheControl		= KHttpHeaderEncodeErrorBase - 16; 
williamr@2
   413
/**
williamr@2
   414
Error encoding the Pragma field 
williamr@2
   415
@publishedAll
williamr@2
   416
@released
williamr@2
   417
*/
williamr@2
   418
const TInt KErrHttpEncodePragma				= KHttpHeaderEncodeErrorBase - 17;
williamr@2
   419
/**
williamr@2
   420
Error encoding the if match field
williamr@2
   421
@publishedAll
williamr@2
   422
@released
williamr@2
   423
*/
williamr@2
   424
const TInt KErrHttpEncodeIfMatch			= KHttpHeaderEncodeErrorBase - 18; 
williamr@2
   425
/**
williamr@2
   426
Error encoding the if none match field 
williamr@2
   427
@publishedAll
williamr@2
   428
@released
williamr@2
   429
*/
williamr@2
   430
const TInt KErrHttpEncodeIfNoneMatch		= KHttpHeaderEncodeErrorBase - 19;
williamr@2
   431
/**
williamr@2
   432
Error encoding the if modified since field 
williamr@2
   433
@publishedAll
williamr@2
   434
@released
williamr@2
   435
*/
williamr@2
   436
const TInt KErrHttpEncodeIfModifiedSince	= KHttpHeaderEncodeErrorBase - 20;
williamr@2
   437
/**
williamr@2
   438
Error encoding the if unmodified since field 
williamr@2
   439
@publishedAll
williamr@2
   440
@released
williamr@2
   441
*/
williamr@2
   442
const TInt KErrHttpEncodeIfUnmodifiedSince	= KHttpHeaderEncodeErrorBase - 21;
williamr@2
   443
/**
williamr@2
   444
Error encoding the Cookie2 field 
williamr@2
   445
@publishedAll
williamr@2
   446
@released
williamr@2
   447
*/
williamr@2
   448
const TInt KErrHttpEncodeCookie2			= KHttpHeaderEncodeErrorBase - 22;
williamr@2
   449
/**
williamr@2
   450
Error encoding the Content-Language field
williamr@2
   451
@publishedAll
williamr@2
   452
@released
williamr@2
   453
*/
williamr@2
   454
const TInt KErrHttpEncodeContentLanguage	= KHttpHeaderEncodeErrorBase - 23;
williamr@2
   455
/**
williamr@2
   456
Error encoding the WWWAuthenticate field
williamr@2
   457
@publishedAll
williamr@2
   458
@released
williamr@2
   459
*/
williamr@2
   460
const TInt KErrHttpEncodeDoWWWAuthenticate	= KHttpHeaderEncodeErrorBase - 24;
williamr@2
   461
/**
williamr@2
   462
Error encoding the Age field
williamr@2
   463
@publishedAll
williamr@2
   464
@released
williamr@2
   465
*/
williamr@2
   466
const TInt KErrHttpEncodeDoAge				= KHttpHeaderEncodeErrorBase - 25;
williamr@2
   467
/**
williamr@2
   468
Error encoding the Vary field
williamr@2
   469
@publishedAll
williamr@2
   470
@released
williamr@2
   471
*/
williamr@2
   472
const TInt KErrHttpEncodeDoVary				= KHttpHeaderEncodeErrorBase - 26;
williamr@2
   473
/**
williamr@2
   474
Error encoding the Content-Language field
williamr@2
   475
@publishedAll
williamr@2
   476
@released
williamr@2
   477
*/
williamr@2
   478
const TInt KErrHttpEncodeDoContentLanguage	= KHttpHeaderEncodeErrorBase - 27;
williamr@2
   479
/**
williamr@2
   480
Error encoding the Content-Encoding field
williamr@2
   481
@publishedAll
williamr@2
   482
@released
williamr@2
   483
*/
williamr@2
   484
const TInt KErrHttpEncodeContentEncoding	= KHttpHeaderEncodeErrorBase - 28;
williamr@2
   485
/**
williamr@2
   486
Error encoding the Content-Location field
williamr@2
   487
@publishedAll
williamr@2
   488
@released
williamr@2
   489
*/
williamr@2
   490
const TInt KErrHttpEncodeContentLocation	= KHttpHeaderEncodeErrorBase - 29;
williamr@2
   491
/**
williamr@2
   492
Error encoding the Content-MD5 field
williamr@2
   493
@publishedAll
williamr@2
   494
@released
williamr@2
   495
*/
williamr@2
   496
const TInt KErrHttpEncodeContentMD5			= KHttpHeaderEncodeErrorBase - 30;
williamr@2
   497
/**
williamr@2
   498
Error encoding the Accept-Encoding field
williamr@2
   499
@publishedAll
williamr@2
   500
@released
williamr@2
   501
*/
williamr@2
   502
const TInt KErrHttpEncodeAcceptLanguage		= KHttpHeaderEncodeErrorBase - 31;
williamr@2
   503
/**
williamr@2
   504
Error encoding the Accept-Language field
williamr@2
   505
@publishedAll
williamr@2
   506
@released
williamr@2
   507
*/
williamr@2
   508
const TInt KErrHttpEncodeAcceptEncoding		= KHttpHeaderEncodeErrorBase - 32;
williamr@2
   509
/**
williamr@2
   510
Error encoding the TE field
williamr@2
   511
@publishedAll
williamr@2
   512
@released
williamr@2
   513
*/
williamr@2
   514
const TInt KErrHttpEncodeTE					= KHttpHeaderEncodeErrorBase - 33;
williamr@2
   515
/**
williamr@2
   516
Error encoding the Upgrade field
williamr@2
   517
@publishedAll
williamr@2
   518
@released
williamr@2
   519
*/
williamr@2
   520
const TInt KErrHttpEncodeUpgrade			= KHttpHeaderEncodeErrorBase - 34;
williamr@2
   521
williamr@2
   522
/**
williamr@2
   523
Codec decoding errors for values found in HTTP headers
williamr@2
   524
@publishedAll
williamr@2
   525
@released
williamr@2
   526
*/
williamr@2
   527
const TInt KHttpValueDecodeErrorBase = KHttpErrorBase - 60;
williamr@2
   528
williamr@2
   529
/**
williamr@2
   530
General formatting error for date values
williamr@2
   531
@publishedAll
williamr@2
   532
@released
williamr@2
   533
*/
williamr@2
   534
const TInt KErrHttpDecodeMalformedDate		= KHttpValueDecodeErrorBase;	 
williamr@2
   535
/**
williamr@2
   536
Malformed year
williamr@2
   537
@publishedAll
williamr@2
   538
@released
williamr@2
   539
*/
williamr@2
   540
const TInt KErrHttpDecodeMalformedYear 		= KHttpValueDecodeErrorBase - 1; 
williamr@2
   541
/**
williamr@2
   542
Malformed short month name
williamr@2
   543
@publishedAll
williamr@2
   544
@released
williamr@2
   545
*/
williamr@2
   546
const TInt KErrHttpDecodeMalformedMonth		= KHttpValueDecodeErrorBase - 2; 
williamr@2
   547
/**
williamr@2
   548
Malformed number of day in month
williamr@2
   549
@publishedAll
williamr@2
   550
@released
williamr@2
   551
*/
williamr@2
   552
const TInt KErrHttpDecodeMalformedDay		= KHttpValueDecodeErrorBase - 3; 
williamr@2
   553
/**
williamr@2
   554
Malformed short day name
williamr@2
   555
@publishedAll
williamr@2
   556
@released
williamr@2
   557
*/
williamr@2
   558
const TInt KErrHttpDecodeMalformedWkDay		= KHttpValueDecodeErrorBase - 4; 
williamr@2
   559
/**
williamr@2
   560
Malformed long day name
williamr@2
   561
@publishedAll
williamr@2
   562
@released
williamr@2
   563
*/
williamr@2
   564
const TInt KErrHttpDecodeMalformedWeekDay	= KHttpValueDecodeErrorBase - 5; 
williamr@2
   565
/**
williamr@2
   566
Malformed integer value
williamr@2
   567
@publishedAll
williamr@2
   568
@released
williamr@2
   569
*/
williamr@2
   570
const TInt KErrHttpDecodeMalformedInteger	= KHttpValueDecodeErrorBase - 6; 
williamr@2
   571
/**
williamr@2
   572
Malformed quoted string
williamr@2
   573
@publishedAll
williamr@2
   574
@released
williamr@2
   575
*/
williamr@2
   576
const TInt KErrHttpDecodeMalformedQuotedStr	= KHttpValueDecodeErrorBase - 7; 
williamr@2
   577
williamr@2
   578
/**
williamr@2
   579
Codec decoding errors for HTTP headers
williamr@2
   580
@publishedAll
williamr@2
   581
@released
williamr@2
   582
*/
williamr@2
   583
const TInt KHttpHeaderDecodeErrorBase = KHttpErrorBase - 70;
williamr@2
   584
williamr@2
   585
/**
williamr@2
   586
Error decoding the Accept field
williamr@2
   587
@publishedAll
williamr@2
   588
@released
williamr@2
   589
*/
williamr@2
   590
const TInt KErrHttpDecodeAccept				= KHttpHeaderDecodeErrorBase;
williamr@2
   591
/**
williamr@2
   592
Error decoding the Connection field
williamr@2
   593
@publishedAll
williamr@2
   594
@released
williamr@2
   595
*/
williamr@2
   596
const TInt KErrHttpDecodeConnection			= KHttpHeaderDecodeErrorBase - 1;
williamr@2
   597
/**
williamr@2
   598
Error decoding the Content-Length field
williamr@2
   599
@publishedAll
williamr@2
   600
@released
williamr@2
   601
*/
williamr@2
   602
const TInt KErrHttpDecodeContentLength		= KHttpHeaderDecodeErrorBase - 2;
williamr@2
   603
/**
williamr@2
   604
Error decoding the Content-Type field
williamr@2
   605
@publishedAll
williamr@2
   606
@released
williamr@2
   607
*/
williamr@2
   608
const TInt KErrHttpDecodeContentType		= KHttpHeaderDecodeErrorBase - 3;
williamr@2
   609
/**
williamr@2
   610
Error decoding the Transfer-Encoding field
williamr@2
   611
@publishedAll
williamr@2
   612
@released
williamr@2
   613
*/
williamr@2
   614
const TInt KErrHttpDecodeTransferEncoding	= KHttpHeaderDecodeErrorBase - 4;
williamr@2
   615
/**
williamr@2
   616
Error decoding the WWWAuthenticate field
williamr@2
   617
@publishedAll
williamr@2
   618
@released
williamr@2
   619
*/
williamr@2
   620
const TInt KErrHttpDecodeWWWAuthenticate	= KHttpHeaderDecodeErrorBase - 5;
williamr@2
   621
/**
williamr@2
   622
The WWWAuthenticate field contained an unrecognised authentication scheme
williamr@2
   623
@publishedAll
williamr@2
   624
@released
williamr@2
   625
*/
williamr@2
   626
const TInt KErrHttpDecodeUnknownAuthScheme	= KHttpHeaderDecodeErrorBase - 6;
williamr@2
   627
/**
williamr@2
   628
Error decoding a Basic WWWAuthenticate challenge
williamr@2
   629
@publishedAll
williamr@2
   630
@released
williamr@2
   631
*/
williamr@2
   632
const TInt KErrHttpDecodeBasicAuth			= KHttpHeaderDecodeErrorBase - 7;
williamr@2
   633
/**
williamr@2
   634
Error decoding a Digest WWWAuthenticate challenge
williamr@2
   635
@publishedAll
williamr@2
   636
@released
williamr@2
   637
*/
williamr@2
   638
const TInt KErrHttpDecodeDigestAuth			= KHttpHeaderDecodeErrorBase - 8;
williamr@2
   639
/**
williamr@2
   640
Error decoding a Set-Cookie field
williamr@2
   641
@publishedAll
williamr@2
   642
@released
williamr@2
   643
*/
williamr@2
   644
const TInt KErrHttpDecodeCookie				= KHttpHeaderDecodeErrorBase - 9;
williamr@2
   645
/**
williamr@2
   646
Error decoding the Authorization field
williamr@2
   647
@publishedAll
williamr@2
   648
@released
williamr@2
   649
*/
williamr@2
   650
const TInt KErrHttpDecodeAuthorization		= KHttpHeaderDecodeErrorBase - 10;
williamr@2
   651
/**
williamr@2
   652
Error decoding the Accept-Charset field
williamr@2
   653
@publishedAll
williamr@2
   654
@released
williamr@2
   655
*/
williamr@2
   656
const TInt KErrHttpDecodeAcceptCharset		= KHttpHeaderDecodeErrorBase - 11;
williamr@2
   657
/**
williamr@2
   658
Error decoding the Accept-Language field
williamr@2
   659
@publishedAll
williamr@2
   660
@released
williamr@2
   661
*/
williamr@2
   662
const TInt KErrHttpDecodeAcceptLanguage		= KHttpHeaderDecodeErrorBase - 12;
williamr@2
   663
/**
williamr@2
   664
Error decoding the Accept-Encoding field
williamr@2
   665
@publishedAll
williamr@2
   666
@released
williamr@2
   667
*/
williamr@2
   668
const TInt KErrHttpDecodeAcceptEncoding		= KHttpHeaderDecodeErrorBase - 13;
williamr@2
   669
/**
williamr@2
   670
Error decoding the TE field
williamr@2
   671
@publishedAll
williamr@2
   672
@released
williamr@2
   673
*/
williamr@2
   674
const TInt KErrHttpDecodeTE					= KHttpHeaderEncodeErrorBase - 14;
williamr@2
   675
/**
williamr@2
   676
Error decoding the Expect field
williamr@2
   677
@publishedAll
williamr@2
   678
@released
williamr@2
   679
*/
williamr@2
   680
const TInt KErrHttpDecodeExpect				= KHttpHeaderEncodeErrorBase - 15;
williamr@2
   681
/**
williamr@2
   682
Error decoding the Content-Disposition field
williamr@2
   683
@publishedAll
williamr@2
   684
@released
williamr@2
   685
*/
williamr@2
   686
const TInt KErrHttpDecodeContentDisposition	= KHttpHeaderDecodeErrorBase - 14;
williamr@2
   687
/**
williamr@2
   688
Response errors. These represent specific failure cases
williamr@2
   689
@publishedAll
williamr@2
   690
@released
williamr@2
   691
*/
williamr@2
   692
const TInt KErrHttpResponseFailureBase = KHttpErrorBase - 100;
williamr@2
   693
williamr@2
   694
/**
williamr@2
   695
A uri redirected too many times, possibly indicating a circular redirection
williamr@2
   696
@publishedAll
williamr@2
   697
@released
williamr@2
   698
*/
williamr@2
   699
const TInt KErrHttpRedirectExceededLimit		= KErrHttpResponseFailureBase;	  
williamr@2
   700
/**
williamr@2
   701
A server responded that the uri must be fetched via a proxy
williamr@2
   702
@publishedAll
williamr@2
   703
@released
williamr@2
   704
*/
williamr@2
   705
const TInt KErrHttpRedirectUseProxy				= KErrHttpResponseFailureBase - 1;
williamr@2
   706
/**
williamr@2
   707
A server sent a redirection response that did not include a Location header
williamr@2
   708
@publishedAll
williamr@2
   709
@released
williamr@2
   710
*/
williamr@2
   711
const TInt KErrHttpRedirectNoLocationField		= KErrHttpResponseFailureBase - 2;
williamr@2
   712
/**
williamr@2
   713
An error occured in parsing which left the parser in a unknown state
williamr@2
   714
@publishedAll
williamr@2
   715
@released
williamr@2
   716
*/
williamr@2
   717
const TInt KErrHttpUnknownParseState			= KErrHttpResponseFailureBase - 3;
williamr@2
   718
williamr@2
   719
/**
williamr@2
   720
Request building errors: cause the Validation Filter to make a transaction fail and terminate 
williamr@2
   721
@publishedAll
williamr@2
   722
@released
williamr@2
   723
*/
williamr@2
   724
const TInt KErrHttpReqBuildErrorBase = KHttpErrorBase - 130;
williamr@2
   725
williamr@2
   726
/**
williamr@2
   727
A body is provided with a method that doesn't allow bodys to be transmitted
williamr@2
   728
@publishedAll
williamr@2
   729
@released
williamr@2
   730
*/
williamr@2
   731
const TInt KErrHttpRequestHasBody					= KErrHttpReqBuildErrorBase;	
williamr@2
   732
/**
williamr@2
   733
A body is missing from a method that requires it
williamr@2
   734
@publishedAll
williamr@2
   735
@released
williamr@2
   736
*/
williamr@2
   737
const TInt KErrHttpRequestBodyMissing				= KErrHttpReqBuildErrorBase - 1;			
williamr@2
   738
/**
williamr@2
   739
Should contain The Max-Forward header
williamr@2
   740
@publishedAll
williamr@2
   741
@released
williamr@2
   742
*/
williamr@2
   743
const TInt KErrHttpTraceReqWithoutMaxForwardHeader	= KErrHttpReqBuildErrorBase - 2;
williamr@2
   744
/**
williamr@2
   745
Body must NOT be sent chunked if using HTTP/1.0
williamr@2
   746
@publishedAll
williamr@2
   747
@released
williamr@2
   748
*/
williamr@2
   749
const TInt KErrHttpPostReqBodyWithoutSizeOnHTTP10	= KErrHttpReqBuildErrorBase - 3;
williamr@2
   750
/**
williamr@2
   751
Request contained a response header or a entity header but no body
williamr@2
   752
@publishedAll
williamr@2
   753
@released
williamr@2
   754
*/
williamr@2
   755
const TInt KErrHttpInvalidHeaderInRequest	  		= KErrHttpReqBuildErrorBase - 4;
williamr@2
   756
/**
williamr@2
   757
Missing but required header errors
williamr@2
   758
@publishedAll
williamr@2
   759
@released
williamr@2
   760
*/
williamr@2
   761
williamr@2
   762
const TInt KErrHttpMissingHeaderBase = KHttpErrorBase - 160;
williamr@2
   763
/**
williamr@2
   764
A body was provided in the request but no Content-Type header was set
williamr@2
   765
@publishedAll
williamr@2
   766
@released
williamr@2
   767
*/
williamr@2
   768
williamr@2
   769
const TInt KErrHttpEntityHeaderMissingContentType		= KErrHttpMissingHeaderBase;	
williamr@2
   770
/**
williamr@2
   771
The request URI was relative, but no Host header was set to indicate a server to connect to
williamr@2
   772
@publishedAll
williamr@2
   773
@released
williamr@2
   774
*/
williamr@2
   775
const TInt KErrHttpGeneralHeaderMissingHost				= KErrHttpMissingHeaderBase - 1;
williamr@2
   776
/**
williamr@2
   777
Protocol handler errors
williamr@2
   778
@publishedAll
williamr@2
   779
@released
williamr@2
   780
*/
williamr@2
   781
const TInt KErrHttpProtocolHandlerBase = KHttpErrorBase - 170;
williamr@2
   782
/**
williamr@2
   783
The request body needed to be rewound but the client but it doesn't support 
williamr@2
   784
@publishedAll
williamr@2
   785
@released
williamr@2
   786
*/
williamr@2
   787
const TInt KErrHttpCantResetRequestBody				= KErrHttpProtocolHandlerBase;
williamr@2
   788
/**
williamr@2
   789
The Protocol handler is not initialised
williamr@2
   790
@publishedAll
williamr@2
   791
@released
williamr@2
   792
*/
williamr@2
   793
const TInt KErrHttpProtTransactionNotInitialised	= KErrHttpProtocolHandlerBase -1;
williamr@2
   794
/**
williamr@2
   795
Unable to establish a tunnel.
williamr@2
   796
@publishedAll
williamr@2
   797
@released
williamr@2
   798
*/
williamr@2
   799
const TInt KErrHttpCannotEstablishTunnel			= KErrHttpProtocolHandlerBase -2;
williamr@2
   800
/**
williamr@2
   801
Invalid URI
williamr@2
   802
@publishedAll
williamr@2
   803
@released
williamr@2
   804
*/
williamr@2
   805
const TInt KErrHttpInvalidUri						= KErrHttpProtocolHandlerBase -3;
williamr@2
   806
/**
williamr@2
   807
Protocol handler experienced a non-pipelining error
williamr@2
   808
@publishedAll
williamr@2
   809
@released
williamr@2
   810
*/
williamr@2
   811
const TInt KErrHttpNonPipeliningError				= KErrHttpProtocolHandlerBase -4;
williamr@2
   812
/**
williamr@2
   813
Protocol handler experienced a pipelining error
williamr@2
   814
@publishedAll
williamr@2
   815
@released
williamr@2
   816
*/
williamr@2
   817
const TInt KErrHttpPipeliningError					= KErrHttpProtocolHandlerBase -5;
williamr@2
   818
williamr@2
   819
/**
williamr@2
   820
The request has been not sent for the transaction and connection has been disconnected. 
williamr@2
   821
This error will be propagated to the client only, if the HTTP:ENotifyOnDisconnect property 
williamr@2
   822
is set with a value HTTP::EEnableDisconnectNotification
williamr@2
   823
williamr@2
   824
@publishedAll
williamr@2
   825
@released
williamr@2
   826
*/
williamr@2
   827
const TInt KErrHttpRequestNotSent 					= KErrHttpProtocolHandlerBase -6;
williamr@2
   828
williamr@2
   829
/**
williamr@2
   830
The response has been not received for the transaction and connection has been disconnected. 
williamr@2
   831
This error will be propagated to the client only, if the HTTP:ENotifyOnDisconnect property is 
williamr@2
   832
set with a value HTTP::EEnableDisconnectNotification
williamr@2
   833
williamr@2
   834
@publishedAll
williamr@2
   835
@released
williamr@2
   836
*/
williamr@2
   837
const TInt KErrHttpResponseNotReceived				= KErrHttpProtocolHandlerBase -7;
williamr@2
   838
williamr@2
   839
/**
williamr@2
   840
Partial response has been received and connection has been disconnected. This error will be 
williamr@2
   841
propagated to the client only, if the HTTP:ENotifyOnDisconnect property is set with a value
williamr@2
   842
HTTP::EEnableDisconnectNotification
williamr@2
   843
williamr@2
   844
@publishedAll
williamr@2
   845
@released
williamr@2
   846
*/
williamr@2
   847
const TInt KErrHttpPartialResponseReceived			= KErrHttpProtocolHandlerBase -8;
williamr@2
   848
williamr@2
   849
/**
williamr@2
   850
ClientApplication wants to fail the transaction that was in process by the HTTPMessageParser
williamr@2
   851
@publishedAll
williamr@2
   852
@released
williamr@2
   853
*/
williamr@2
   854
const TInt KErrHttpOptimiserFailsTrans				= KErrHttpProtocolHandlerBase -9;
williamr@2
   855
williamr@2
   856
// end of error codes - maximum error value is -7399 - must not be exceeded!
williamr@2
   857
// Inline methods from HTTPStatus
williamr@2
   858
williamr@2
   859
inline TBool HTTPStatus::IsInformational(TInt aStatus)
williamr@2
   860
	{ 
williamr@2
   861
	return ((aStatus >= HTTPStatus::EContinue) && (aStatus < HTTPStatus::EOk));
williamr@2
   862
	}
williamr@2
   863
inline TBool HTTPStatus::IsSuccessful(TInt aStatus)
williamr@2
   864
	{ 
williamr@2
   865
	return ((aStatus >= HTTPStatus::EOk) && (aStatus < HTTPStatus::EMultipleChoices));
williamr@2
   866
	}
williamr@2
   867
inline TBool HTTPStatus::IsRedirection(TInt aStatus)
williamr@2
   868
	{
williamr@2
   869
	return ((aStatus >= HTTPStatus::EMultipleChoices) && (aStatus < HTTPStatus::EBadRequest));
williamr@2
   870
	}
williamr@2
   871
inline TBool HTTPStatus::IsClientError(TInt aStatus)
williamr@2
   872
	{
williamr@2
   873
	return ((aStatus >= HTTPStatus::EBadRequest) && (aStatus < HTTPStatus::EInternalServerError));
williamr@2
   874
	}
williamr@2
   875
inline TBool HTTPStatus::IsServerError(TInt aStatus)
williamr@2
   876
	{
williamr@2
   877
	return (aStatus >= HTTPStatus::EInternalServerError);
williamr@2
   878
	}
williamr@2
   879
williamr@2
   880
williamr@2
   881
williamr@2
   882
#endif // __HTTPERR_H__