diff -r 000000000000 -r b16258d2340f applayerprotocols/httptransportfw/inc/httperr.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerprotocols/httptransportfw/inc/httperr.h Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,961 @@ +// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file httperr.h + @warning : This file contains Rose Model ID comments - please do not delete +*/ + +#ifndef __HTTPERR_H__ +#define __HTTPERR_H__ + +// System includes +#include + +//##ModelId=3C4C18750141 +class HTTPStatus +/** +The complete set of HTTP Status codes, as defined in RFC2616. +@publishedAll +@released +*/ + { +public: + enum + { + /** 'Informational' range of codes 1xx + */ + /** Continue. + */ + EContinue = 100, + /** Switching Protocols. + */ + ESwitchingProtocols = 101, + /** 'Successful' range of codes 2xx + */ + /** Ok. + */ + EOk = 200, + /** Created. + */ + ECreated = 201, + /** The entry has been accepted. + */ + EAccepted = 202, + /** Non-Authoritative Information. + */ + ENonAuthoritativeInfo = 203, + /** No Content. + */ + ENoContent = 204, + /** Reset Content. + */ + EResetContent = 205, + /** Partial Content. + */ + EPartialContent = 206, + /** 'Redirection' range of codes 3xx + */ + /** Multiple Choices. + */ + EMultipleChoices = 300, + /** Moved Permanently. + */ + EMovedPermanently = 301, + /** Found. + Note, this is deprecated in HTTP/1.1 - 307 will be used instead + */ + EFound = 302, + /** See Other. + */ + ESeeOther = 303, + /** Not Modified. + */ + ENotModified = 304, + /** Use Proxy. + */ + EUseProxy = 305, + /** Unused. + */ + EUnused = 306, + /** Temporary Redirect. + */ + ETemporaryRedirect = 307, + /** 'Client Error' range of codes 4xx + */ + /** Bad Request. + */ + EBadRequest = 400, + /** Unauthorized. + */ + EUnauthorized = 401, + /** Payment Required. Note, this is reserved in HTTP/1.1 + */ + EPaymentRequired = 402, + /** Forbidden. + */ + EForbidden = 403, + /** Not Found. + */ + ENotFound = 404, + /** Method Not Allowed. + */ + EMethodNotAllowed = 405, + /** Not Acceptable. + */ + ENotAcceptable = 406, + /** Proxy Authentication Required. + */ + EProxyAuthenticationRequired = 407, + /** Request Timeout. + */ + ERequestTimeout = 408, + /** Conflict. + */ + EConflict = 409, + /** Gone. + */ + EGone = 410, + /** Length Required. + */ + ELengthRequired = 411, + /** Precondition Failed. + */ + EPreconditionFailed = 412, + /** Request Entity Too Large. + */ + ERequestEntityTooLarge = 413, + /** Request-URI Too Long. + */ + ERequestURITooLong = 414, + /** Unsupported Media Type. + */ + EUnsupportedMediaType = 415, + /** Requested Range Not Satisfiable. + */ + ERequestedRangeNotSatisfiable = 416, + /** Expectation Failed. + */ + EExpectationFailed = 417, + /** 'Server Error' range of codes 5xx + */ + /** Internal Server Error. + */ + EInternalServerError = 500, + /** Not Implemented. + */ + ENotImplemented = 501, + /** Bad Gateway. + */ + EBadGateway = 502, + /** Service Unavailable. + */ + EServiceUnavailable = 503, + /** Gateway Timeout. + */ + EGatewayTimeout = 504, + /** HTTP Version Not Supported. + */ + EHTTPVersionNotSupported = 505 + }; + + /** Is the supplied status code in the 1xx Informational range? + @param aStatus Is the supplied status code in the 1xx Informational range? + @return ETrue if the specified status code is in the 1xx Informational range. + ##ModelId=3C4C18750162 + */ + inline static TBool IsInformational(TInt aStatus); + + + /** Is the supplied status code in the 2xx Successful range? + @param aStatus Is the supplied status code in the 2xx Successful range? + @return ETrue if the specified status code is in the 2xx Successful range + ##ModelId=3C4C18750160 + */ + inline static TBool IsSuccessful(TInt aStatus); + + /** Is the supplied status code in the 3xx Redirection range? + @param aStatus Is the supplied status code in the 3xx Redirection range? + @return ETrue if the specified status code is in the 3xx Redirection range. + ##ModelId=3C4C18750159 + */ + inline static TBool IsRedirection(TInt aStatus); + + /** Is the supplied status code in the 4xx Client Error range? + @param aStatus Is the supplied status code in the 4xx Client Error range? + @return ETrue if the specified status code is in the 4xx Client Error range. + ##ModelId=3C4C18750157 + */ + inline static TBool IsClientError(TInt aStatus); + + /** Is the supplied status code in the 5xx Server Error range? + @param aStatus Is the supplied status code in the 5xx Server Error range? + @return ETrue if the specified status code is in the 5xx Server Error range. + ##ModelId=3C4C18750155 + */ + inline static TBool IsServerError(TInt aStatus); + }; + +// +// HTTP Panic codes +// + +#include + +// HTTPPanic::Panic(HTTPPanic:: ) + +//##ModelId=3C4C18740352 +class HTTPPanic +/** +HTTP panic codes +@publishedAll +@released +*/ + { +public: + enum THTTPPanic + { + /** RHTTPSession session is already open. ( Panic HTTP-CORE 0 ) + */ + ESessionAlreadyOpen, + /** Specified field is missing. ( Panic HTTP-CORE 1 ) + */ + EHeaderFieldMissing, + /** Unused. ( Panic HTTP-CORE 2 ) + */ + EHeaderParamMissing, + /** Unused. ( Panic HTTP-CORE 3 ) + */ + EHeaderInvalidPart, + /** Mismatch between header's type and its attempted use. ( Panic HTTP-CORE 4 ) + */ + EHeaderInvalidType, + /** Unused. ( Panic HTTP-CORE 5 ) + */ + ETransactionEventOutstanding, + /** A transaction error occurred, and the MHFRunError() in use didn't handle it. ( Panic HTTP-CORE 6 ) + */ + ETransactionUnhandledError, + /** Attempted to add a filter while there is a transaction outstanding. ( Panic HTTP-CORE 7 ) + */ + EAddingFilterWithOutstandingTransactions, + /** Attempted to add a filter at a position not between the protocol handler and the client. ( Panic HTTP-CORE 8 ) + */ + EFilterInvalidPosition, + /** CHTTPEncoder object destroyed without its data being released. ( Panic HTTP-CORE 9 ) + */ + EHTTPFormDataUnreleased, + /** CHTTPEncoder object at the wrong state for adding data. ( Panic HTTP-CORE 10 ) + */ + EHTTPFormSupplyingData, + /** Unused. ( Panic HTTP-CORE 11 ) + */ + EValidationFilterFailure, + /** Invalid request data. ( Panic HTTP-CORE 12 ) + */ + EInvalidTxData, + /** Invalid response data. ( Panic HTTP-CORE 13 ) + */ + EInvalidRxData, + /** Unused. ( Panic HTTP-CORE 14 ) + */ + ENoTransportHandlerSet, + /** Unused. ( Panic HTTP-CORE 15 ) + */ + EAuthenticationFilterBadState, + /** An invalid filter handle was specified. ( Panic HTTP-CORE 16 ) + */ + EInvalidFilterHandle, + /** An invalid event ( Panic HTTP-CORE 17 ) + */ + EInvalidEvent + }; + + //##ModelId=3C4C18740366 + static void Panic(THTTPPanic aPanic); + }; + +// HTTP external errors/leave codes. Add new sub-ranges at the end; do not insert between the sub-ranges that +// are already here. This is to allow a client to reasonably check for errors between two adjacent range +// base values rather than check for individual codes. + +/** +Base value for the HTTP error code range (-7200 to -7399) +@publishedAll +@released +*/ +const TInt KHttpErrorBase = -7200; + +// +// Text mode HTTP protocol handler +// + +/** +Codec encoding errors for HTTP headers +@publishedAll +@released +*/ +const TInt KHttpHeaderEncodeErrorBase = KHttpErrorBase; + +/** +Error making a default encoding of unrecognised headers +@publishedAll +@released +*/ +const TInt KErrHttpEncodeDefault = KHttpHeaderEncodeErrorBase; +/** +Error encoding the Accept field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeAccept = KHttpHeaderEncodeErrorBase - 1; +/** +Error encoding the Accept-Charset field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeAcceptCharset = KHttpHeaderEncodeErrorBase - 2; +/** +Error encoding a q-value parameter +@publishedAll +@released +*/ +const TInt KErrHttpEncodeQValue = KHttpHeaderEncodeErrorBase - 3; +/** +Error encoding the Authorization field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeAuthorization = KHttpHeaderEncodeErrorBase - 4; +/** +Error encoding Basic credentials +@publishedAll +@released +*/ +const TInt KErrHttpEncodeBasicAuth = KHttpHeaderEncodeErrorBase - 5; +/** +Error encoding Digest credentials +@publishedAll +@released +*/ +const TInt KErrHttpEncodeDigestAuth = KHttpHeaderEncodeErrorBase - 6; +/** +Error encoding the Connection field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeConnection = KHttpHeaderEncodeErrorBase - 7; +/** +Error encoding the Content-Length field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeContentLength = KHttpHeaderEncodeErrorBase - 8; +/** +Error encoding the Content-Type field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeContentType = KHttpHeaderEncodeErrorBase - 9; +/** +Error encoding the Host field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeHost = KHttpHeaderEncodeErrorBase - 10; +/** +Error encoding the Host field's port parameter +@publishedAll +@released +*/ +const TInt KErrHttpEncodeHostPort = KHttpHeaderEncodeErrorBase - 11; +/** +Error encoding the Transfer-Encoding field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeTransferEncoding = KHttpHeaderEncodeErrorBase - 12; +/** +Error encoding the User-Agent field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeUserAgent = KHttpHeaderEncodeErrorBase - 13; +/** +Error encoding the Date field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeDate = KHttpHeaderEncodeErrorBase - 14; +/** +Error encoding the Cookie field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeCookie = KHttpHeaderEncodeErrorBase - 15; +/** +Error encoding the Cache-Control field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeCacheControl = KHttpHeaderEncodeErrorBase - 16; +/** +Error encoding the Pragma field +@publishedAll +@released +*/ +const TInt KErrHttpEncodePragma = KHttpHeaderEncodeErrorBase - 17; +/** +Error encoding the if match field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeIfMatch = KHttpHeaderEncodeErrorBase - 18; +/** +Error encoding the if none match field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeIfNoneMatch = KHttpHeaderEncodeErrorBase - 19; +/** +Error encoding the if modified since field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeIfModifiedSince = KHttpHeaderEncodeErrorBase - 20; +/** +Error encoding the if unmodified since field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeIfUnmodifiedSince = KHttpHeaderEncodeErrorBase - 21; +/** +Error encoding the Cookie2 field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeCookie2 = KHttpHeaderEncodeErrorBase - 22; +/** +Error encoding the Content-Language field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeContentLanguage = KHttpHeaderEncodeErrorBase - 23; +/** +Error encoding the WWWAuthenticate field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeDoWWWAuthenticate = KHttpHeaderEncodeErrorBase - 24; +/** +Error encoding the Age field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeDoAge = KHttpHeaderEncodeErrorBase - 25; +/** +Error encoding the Vary field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeDoVary = KHttpHeaderEncodeErrorBase - 26; +/** +Error encoding the Content-Language field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeDoContentLanguage = KHttpHeaderEncodeErrorBase - 27; +/** +Error encoding the Content-Encoding field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeContentEncoding = KHttpHeaderEncodeErrorBase - 28; +/** +Error encoding the Content-Location field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeContentLocation = KHttpHeaderEncodeErrorBase - 29; +/** +Error encoding the Content-MD5 field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeContentMD5 = KHttpHeaderEncodeErrorBase - 30; +/** +Error encoding the Accept-Encoding field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeAcceptLanguage = KHttpHeaderEncodeErrorBase - 31; +/** +Error encoding the Accept-Language field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeAcceptEncoding = KHttpHeaderEncodeErrorBase - 32; +/** +Error encoding the TE field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeTE = KHttpHeaderEncodeErrorBase - 33; +/** +Error encoding the Upgrade field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeUpgrade = KHttpHeaderEncodeErrorBase - 34; +/** +Error encoding the ST field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeST = KHttpHeaderEncodeErrorBase - 35; +/** +Error encoding the USN field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeUSN = KHttpHeaderEncodeErrorBase - 36; +/** +Error encoding the Timeout field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeTimeout = KHttpHeaderEncodeErrorBase - 37; +/** +Error encoding the EXT field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeExt = KHttpHeaderEncodeErrorBase - 38; +/** +Error encoding the SID field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeSID = KHttpHeaderEncodeErrorBase - 39; +/** +Error encoding the NTS field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeNTS = KHttpHeaderEncodeErrorBase - 40; +/** +Error encoding the NT field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeNT = KHttpHeaderEncodeErrorBase - 41; +/** +Error encoding the MX field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeMX = KHttpHeaderEncodeErrorBase - 42; +/** +Error encoding the SEQ field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeSEQ = KHttpHeaderEncodeErrorBase - 43; +/** +Error encoding the MAN field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeMAN = KHttpHeaderEncodeErrorBase - 44; +/** +Error encoding the SoapAction field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeSoapAction = KHttpHeaderEncodeErrorBase - 45; +/** +Error encoding the Callback field +@publishedAll +@released +*/ +const TInt KErrHttpEncodeCallback = KHttpHeaderEncodeErrorBase - 46; + +/** +Codec decoding errors for values found in HTTP headers +@publishedAll +@released +*/ +const TInt KHttpValueDecodeErrorBase = KHttpErrorBase - 60; + +/** +General formatting error for date values +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMalformedDate = KHttpValueDecodeErrorBase; +/** +Malformed year +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMalformedYear = KHttpValueDecodeErrorBase - 1; +/** +Malformed short month name +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMalformedMonth = KHttpValueDecodeErrorBase - 2; +/** +Malformed number of day in month +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMalformedDay = KHttpValueDecodeErrorBase - 3; +/** +Malformed short day name +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMalformedWkDay = KHttpValueDecodeErrorBase - 4; +/** +Malformed long day name +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMalformedWeekDay = KHttpValueDecodeErrorBase - 5; +/** +Malformed integer value +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMalformedInteger = KHttpValueDecodeErrorBase - 6; +/** +Malformed quoted string +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMalformedQuotedStr = KHttpValueDecodeErrorBase - 7; + +/** +Codec decoding errors for HTTP headers +@publishedAll +@released +*/ +const TInt KHttpHeaderDecodeErrorBase = KHttpErrorBase - 70; + +/** +Error decoding the Accept field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeAccept = KHttpHeaderDecodeErrorBase; +/** +Error decoding the Connection field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeConnection = KHttpHeaderDecodeErrorBase - 1; +/** +Error decoding the Content-Length field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeContentLength = KHttpHeaderDecodeErrorBase - 2; +/** +Error decoding the Content-Type field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeContentType = KHttpHeaderDecodeErrorBase - 3; +/** +Error decoding the Transfer-Encoding field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeTransferEncoding = KHttpHeaderDecodeErrorBase - 4; +/** +Error decoding the WWWAuthenticate field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeWWWAuthenticate = KHttpHeaderDecodeErrorBase - 5; +/** +The WWWAuthenticate field contained an unrecognised authentication scheme +@publishedAll +@released +*/ +const TInt KErrHttpDecodeUnknownAuthScheme = KHttpHeaderDecodeErrorBase - 6; +/** +Error decoding a Basic WWWAuthenticate challenge +@publishedAll +@released +*/ +const TInt KErrHttpDecodeBasicAuth = KHttpHeaderDecodeErrorBase - 7; +/** +Error decoding a Digest WWWAuthenticate challenge +@publishedAll +@released +*/ +const TInt KErrHttpDecodeDigestAuth = KHttpHeaderDecodeErrorBase - 8; +/** +Error decoding a Set-Cookie field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeCookie = KHttpHeaderDecodeErrorBase - 9; +/** +Error decoding the Authorization field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeAuthorization = KHttpHeaderDecodeErrorBase - 10; +/** +Error decoding the Accept-Charset field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeAcceptCharset = KHttpHeaderDecodeErrorBase - 11; +/** +Error decoding the Accept-Language field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeAcceptLanguage = KHttpHeaderDecodeErrorBase - 12; +/** +Error decoding the Accept-Encoding field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeAcceptEncoding = KHttpHeaderDecodeErrorBase - 13; +/** +Error decoding the TE field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeTE = KHttpHeaderEncodeErrorBase - 14; +/** +Error decoding the Expect field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeExpect = KHttpHeaderEncodeErrorBase - 15; +/** +Error decoding the Content-Disposition field +@publishedAll +@released +*/ +const TInt KErrHttpDecodeContentDisposition = KHttpHeaderDecodeErrorBase - 14; +/** +Error decoding the MAN field. +@publishedAll +@released +*/ +const TInt KErrHttpDecodeMAN = KHttpHeaderDecodeErrorBase - 15; +/** +Response errors. These represent specific failure cases +@publishedAll +@released +*/ +const TInt KErrHttpResponseFailureBase = KHttpErrorBase - 100; + +/** +A uri redirected too many times, possibly indicating a circular redirection +@publishedAll +@released +*/ +const TInt KErrHttpRedirectExceededLimit = KErrHttpResponseFailureBase; +/** +A server responded that the uri must be fetched via a proxy +@publishedAll +@released +*/ +const TInt KErrHttpRedirectUseProxy = KErrHttpResponseFailureBase - 1; +/** +A server sent a redirection response that did not include a Location header +@publishedAll +@released +*/ +const TInt KErrHttpRedirectNoLocationField = KErrHttpResponseFailureBase - 2; +/** +An error occured in parsing which left the parser in a unknown state +@publishedAll +@released +*/ +const TInt KErrHttpUnknownParseState = KErrHttpResponseFailureBase - 3; + +/** +Request building errors: cause the Validation Filter to make a transaction fail and terminate +@publishedAll +@released +*/ +const TInt KErrHttpReqBuildErrorBase = KHttpErrorBase - 130; + +/** +A body is provided with a method that doesn't allow bodys to be transmitted +@publishedAll +@released +*/ +const TInt KErrHttpRequestHasBody = KErrHttpReqBuildErrorBase; +/** +A body is missing from a method that requires it +@publishedAll +@released +*/ +const TInt KErrHttpRequestBodyMissing = KErrHttpReqBuildErrorBase - 1; +/** +Should contain The Max-Forward header +@publishedAll +@released +*/ +const TInt KErrHttpTraceReqWithoutMaxForwardHeader = KErrHttpReqBuildErrorBase - 2; +/** +Body must NOT be sent chunked if using HTTP/1.0 +@publishedAll +@released +*/ +const TInt KErrHttpPostReqBodyWithoutSizeOnHTTP10 = KErrHttpReqBuildErrorBase - 3; +/** +Request contained a response header or a entity header but no body +@publishedAll +@released +*/ +const TInt KErrHttpInvalidHeaderInRequest = KErrHttpReqBuildErrorBase - 4; +/** +Missing but required header errors +@publishedAll +@released +*/ + +const TInt KErrHttpMissingHeaderBase = KHttpErrorBase - 160; +/** +A body was provided in the request but no Content-Type header was set +@publishedAll +@released +*/ + +const TInt KErrHttpEntityHeaderMissingContentType = KErrHttpMissingHeaderBase; +/** +The request URI was relative, but no Host header was set to indicate a server to connect to +@publishedAll +@released +*/ +const TInt KErrHttpGeneralHeaderMissingHost = KErrHttpMissingHeaderBase - 1; +/** +Protocol handler errors +@publishedAll +@released +*/ +const TInt KErrHttpProtocolHandlerBase = KHttpErrorBase - 170; +/** +The request body needed to be rewound but the client but it doesn't support +@publishedAll +@released +*/ +const TInt KErrHttpCantResetRequestBody = KErrHttpProtocolHandlerBase; +/** +The Protocol handler is not initialised +@publishedAll +@released +*/ +const TInt KErrHttpProtTransactionNotInitialised = KErrHttpProtocolHandlerBase -1; +/** +Unable to establish a tunnel. +@publishedAll +@released +*/ +const TInt KErrHttpCannotEstablishTunnel = KErrHttpProtocolHandlerBase -2; +/** +Invalid URI +@publishedAll +@released +*/ +const TInt KErrHttpInvalidUri = KErrHttpProtocolHandlerBase -3; +/** +Protocol handler experienced a non-pipelining error +@publishedAll +@released +*/ +const TInt KErrHttpNonPipeliningError = KErrHttpProtocolHandlerBase -4; +/** +Protocol handler experienced a pipelining error +@publishedAll +@released +*/ +const TInt KErrHttpPipeliningError = KErrHttpProtocolHandlerBase -5; + +/** +The request has been not sent for the transaction and connection has been disconnected. +This error will be propagated to the client only, if the HTTP:ENotifyOnDisconnect property +is set with a value HTTP::EEnableDisconnectNotification + +@publishedAll +@released +*/ +const TInt KErrHttpRequestNotSent = KErrHttpProtocolHandlerBase -6; + +/** +The response has been not received for the transaction and connection has been disconnected. +This error will be propagated to the client only, if the HTTP:ENotifyOnDisconnect property is +set with a value HTTP::EEnableDisconnectNotification + +@publishedAll +@released +*/ +const TInt KErrHttpResponseNotReceived = KErrHttpProtocolHandlerBase -7; + +/** +Partial response has been received and connection has been disconnected. This error will be +propagated to the client only, if the HTTP:ENotifyOnDisconnect property is set with a value +HTTP::EEnableDisconnectNotification + +@publishedAll +@released +*/ +const TInt KErrHttpPartialResponseReceived = KErrHttpProtocolHandlerBase -8; + +/** +ClientApplication wants to fail the transaction that was in process by the HTTPMessageParser +@publishedAll +@released +*/ +const TInt KErrHttpOptimiserFailsTrans = KErrHttpProtocolHandlerBase -9; + +// end of error codes - maximum error value is -7399 - must not be exceeded! +// Inline methods from HTTPStatus + +inline TBool HTTPStatus::IsInformational(TInt aStatus) + { + return ((aStatus >= HTTPStatus::EContinue) && (aStatus < HTTPStatus::EOk)); + } +inline TBool HTTPStatus::IsSuccessful(TInt aStatus) + { + return ((aStatus >= HTTPStatus::EOk) && (aStatus < HTTPStatus::EMultipleChoices)); + } +inline TBool HTTPStatus::IsRedirection(TInt aStatus) + { + return ((aStatus >= HTTPStatus::EMultipleChoices) && (aStatus < HTTPStatus::EBadRequest)); + } +inline TBool HTTPStatus::IsClientError(TInt aStatus) + { + return ((aStatus >= HTTPStatus::EBadRequest) && (aStatus < HTTPStatus::EInternalServerError)); + } +inline TBool HTTPStatus::IsServerError(TInt aStatus) + { + return (aStatus >= HTTPStatus::EInternalServerError); + } + + + +#endif // __HTTPERR_H__