williamr@2: // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Purpose: This file contains definitions of types THttpStatusCode, williamr@2: // THttpParameter, THttpHeaderField, KHttpContentTypes, williamr@2: // KHttpCharacterSetNames and KHttpCharacterSetCodes williamr@2: // This header is a direct transcoding of [WSP] Appendix A - Assigned williamr@2: // Numbers, which contains the following assignment tables: williamr@2: // Table 34 : PDU Type Assignments williamr@2: // 35 : Abort Reason Code Assignments williamr@2: // 36 : Status Code Assignments williamr@2: // 37 : Capability Assignments williamr@2: // 38 : Well-Known Parameter Assignments williamr@2: // 39 : Header Field Name Assignments williamr@2: // 40 : Content-Type Assignments williamr@2: // 41 : ISO-639 Language Assignments williamr@2: // 42 : Character Set Assignments williamr@2: // williamr@2: // williamr@2: williamr@2: #if !defined(__THTTPFIELDS_H__) williamr@2: #define __THTTPFIELDS_H__ williamr@2: williamr@2: // williamr@2: // Table 34 not implemented williamr@2: // williamr@2: williamr@2: williamr@2: // williamr@2: // Table 35 not implemented williamr@2: // williamr@2: williamr@2: williamr@2: /** williamr@2: HTTP/1.1 Status Codes: WSP Code Assignments williamr@2: williamr@2: (see [WSP] Appdx A Table 36) williamr@2: Codes from RFC-2616 added where necessary for HTTP Caching williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: enum THttpStatusCode williamr@2: { williamr@2: EHttpUnknown = 0, williamr@2: EHttpContinue = 100, williamr@2: EHttpSwitchingProtocols, williamr@2: EHttpWarnStaleContent = 110, // From RFC-2616 williamr@2: EHttpWarnRevalidationFailed, // " williamr@2: EHttpWarnDisconnectedOperation, // " williamr@2: EHttpWarnHeuristicExpiration, // " williamr@2: EHttpWarnMiscellaneous, // " williamr@2: EHttpOK = 200, williamr@2: EHttpCreated, williamr@2: EHttpAccepted, williamr@2: EHttpNonAuthorativeInformation, williamr@2: EHttpNoContent, williamr@2: EHttpResetContent, williamr@2: EHttpPartialContent, williamr@2: EHttpWarnTransformationApplied, // From RFC-2616 williamr@2: EHttpWarnPersistentMiscellanous, // " williamr@2: EHttpMultipleChoices = 300, williamr@2: EHttpMovedPermanently, williamr@2: EHttpMovedTemporarily, williamr@2: EHttpSeeOther, williamr@2: EHttpNotModified, williamr@2: EHttpUseProxy, williamr@2: EHttpTemporaryRedirect = 307, // From RFC-2616 williamr@2: EHttpBadRequest = 400, williamr@2: EHttpUnauthorized, williamr@2: EHttpPaymentRequired, williamr@2: EHttpForbidden, williamr@2: EHttpNotFound, williamr@2: EHttpMethodNotAllowed, williamr@2: EHttpNotAcceptable, williamr@2: EHttpProxyAuthenticationRequired, williamr@2: EHttpRequestTimeout, williamr@2: EHttpConflict, williamr@2: EHttpGone, williamr@2: EHttpLengthRequired, williamr@2: EHttpPreconditionFailed, williamr@2: EHttpRequestEntityTooLarge, williamr@2: EHttpRequestURITooLong, williamr@2: EHttpUnsupportedMediaType, williamr@2: EHttpRequestRangeNotSatisfiable, // From RFC-2616 williamr@2: EHttpExpectationFailed, // From RFC-2616 williamr@2: EHttpInternalServerError = 500, williamr@2: EHttpNotImplemented, williamr@2: EHttpBadGateway, williamr@2: EHttpServiceUnavailable, williamr@2: EHttpGatewayTimeout, williamr@2: EHttpHTTPVersionNotSupported williamr@2: // All other codes are extension codes williamr@2: }; williamr@2: williamr@2: williamr@2: // williamr@2: // Table 37 not implemented williamr@2: // williamr@2: williamr@2: williamr@2: /** williamr@2: HTTP/1.1 Parameters: WSP Well-known Parameter Assignments williamr@2: williamr@2: (see [WSP] Appdx A Table 38) williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: enum THttpParameter williamr@2: { williamr@2: EHttpQ = 0x00, williamr@2: EHttpCharset = 0x01, williamr@2: EHttpLevel = 0x02, williamr@2: EHttpType = 0x03, williamr@2: EHttpName = 0x04, williamr@2: EHttpFilename = 0x05, williamr@2: EHttpDifferences = 0x06, williamr@2: EHttpPadding = 0x07 williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: HTTP/1.1 Headers: WSP Field Name Assignments williamr@2: williamr@2: (see [WSP] Appdx A Table 39) williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: enum THttpHeaderField williamr@2: { williamr@2: EHttpAccept = 0x00, williamr@2: EHttpAcceptCharset, williamr@2: EHttpAcceptEncoding, williamr@2: EHttpAcceptLanguage, williamr@2: EHttpAcceptRanges, williamr@2: EHttpAge, williamr@2: EHttpAllow, williamr@2: EHttpAuthorization, williamr@2: EHttpCacheControl = 0x08, williamr@2: EHttpConnection, williamr@2: EHttpContentBase, williamr@2: EHttpContentEncoding, williamr@2: EHttpContentLanguage, williamr@2: EHttpContentLength, williamr@2: EHttpContentLocation, williamr@2: EHttpContentMD5, williamr@2: EHttpContentRange = 0x10, williamr@2: EHttpContentType, williamr@2: EHttpDate, williamr@2: EHttpETag, williamr@2: EHttpExpires, williamr@2: EHttpFrom, williamr@2: EHttpHost, williamr@2: EHttpIfModifiedSince, williamr@2: EHttpIfMatch = 0x18, williamr@2: EHttpIfNoneMatch, williamr@2: EHttpIfRange, williamr@2: EHttpIfUnmodifiedSince, williamr@2: EHttpLocation, williamr@2: EHttpLastModified, williamr@2: EHttpMaxForwards, williamr@2: EHttpPragma, williamr@2: EHttpProxyAuthenticate = 0x20, williamr@2: EHttpProxyAuthorization, williamr@2: EHttpPublic, williamr@2: EHttpRange, williamr@2: EHttpReferer, williamr@2: EHttpRetryAfter, williamr@2: EHttpServer, williamr@2: EHttpTransferEncoding, williamr@2: EHttpUpgrade = 0x28, williamr@2: EHttpUserAgent, williamr@2: EHttpVary, williamr@2: EHttpVia, williamr@2: EHttpWarning, williamr@2: EHttpWWWAuthenticate, williamr@2: EHttpContentDisposition, williamr@2: EHttpXWapApplicationID = 0x2F, // Additional Enums required for WAP1.2 Push williamr@2: EHttpXWapContentURI, williamr@2: EHttpXWapInitiatorURI, williamr@2: EHttpAcceptApplication, williamr@2: EHttpBearerIndication, williamr@2: EHttpPushFlag, williamr@2: EHttpProfile, williamr@2: EHttpProfileDiff, williamr@2: EHttpProfileWarning williamr@2: }; williamr@2: williamr@2: williamr@2: // williamr@2: // WSP Content-Type Assignments williamr@2: // williamr@2: // (see [WSP] Appdx A Table 40) williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TInt KHttpNumContentTypes = 77; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TInt KHttpMaxLenghtOfContentType = 42; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: static const TText8* const KHttpContentTypes[] = williamr@2: { williamr@2: _S8("*/*"), //0x00 williamr@2: _S8("text/*"), williamr@2: _S8("text/html"), williamr@2: _S8("text/plain"), williamr@2: _S8("text/x-hdml"), williamr@2: _S8("text/x-ttml"), williamr@2: _S8("text/x-vCalendar"), williamr@2: _S8("text/x-vCard"), williamr@2: _S8("text/vnd.wap.wml"), // 0x08 williamr@2: _S8("text/vnd.wap.wmlscript"), williamr@2: _S8("application/vnd.wap.catc"), williamr@2: _S8("Multipart/*"), williamr@2: _S8("Multipart/mixed"), williamr@2: _S8("Multipart/form-data"), williamr@2: _S8("Multipart/byteranges"), williamr@2: _S8("multipart/alternative"), williamr@2: _S8("application/*"), // 0x10 williamr@2: _S8("application/java-vm"), williamr@2: _S8("application/x-www-form-urlencoded"), williamr@2: _S8("application/x-hdmlc"), williamr@2: _S8("application/vnd.wap.wmlc"), williamr@2: _S8("application/vnd.wap.wmlscriptc"), williamr@2: _S8("application/vnd.wap.wsic"), williamr@2: _S8("application/vnd.wap.uaprof"), williamr@2: _S8("application/vnd.wap.wtls-ca-certificate"), // 0x18 williamr@2: _S8("application/vnd.wap.wtls-user-certificate"), williamr@2: _S8("application/x-x509-ca-cert"), williamr@2: _S8("application/x-x509-user-cert"), williamr@2: _S8("image/*"), williamr@2: _S8("image/gif"), williamr@2: _S8("image/jpeg"), williamr@2: _S8("image/tiff"), williamr@2: _S8("image/png"), // 0x20 williamr@2: _S8("image/vnd.wap.wbmp"), williamr@2: _S8("application/vnd.wap.multipart.*"), williamr@2: _S8("application/vnd.wap.multipart.mixed"), williamr@2: _S8("application/vnd.wap.multipart.form-data"), williamr@2: _S8("application/vnd.wap.multipart.byteranges"), williamr@2: _S8("application/vnd.wap.multipart.alternative"), williamr@2: _S8("application/xml"), williamr@2: _S8("text/xml"), // 0x28 williamr@2: _S8("application/vnd.wap.wbxml"), williamr@2: _S8("application/x-x968-cross-cert"), //Additional C-Types in WAP 1.2 williamr@2: _S8("application/x-x968-ca-cert"), williamr@2: _S8("application/x-x968-user-cert"), williamr@2: _S8("text/vnd.wap.si"), williamr@2: _S8("application/vnd.wap.sic"), williamr@2: _S8("text/vnd.wap.sl"), williamr@2: _S8("application/vnd.wap.slc"), //0x30 williamr@2: _S8("text/vnd.wap.co"), williamr@2: _S8("application/vnd.wap.coc"), williamr@2: _S8("application/vnd.wap.multipart.related"), williamr@2: _S8("application/vnd.wap.sia"), //0x34 or 52 in decimal williamr@2: _S8("text/vnd.wap.connectivity-xml"), williamr@2: _S8("application/vnd.wap.connectivity-wbxml"), williamr@2: _S8("application/pkcs7-mime"), williamr@2: _S8("application/vnd.wap.hashed-certificate"), williamr@2: _S8("application/vnd.wap.signed-certificate"), williamr@2: _S8("application/vnd.wap.cert-response"), williamr@2: _S8("application/xhtml+xml"), williamr@2: _S8("application/wml+xml"), williamr@2: _S8("text/css"), williamr@2: _S8("application/vnd.wap.mms-message"), williamr@2: _S8("application/vnd.wap.rollover-certificate"), williamr@2: _S8("application/vnd.wap.locc+wbxml"), williamr@2: _S8("application/vnd.wap.loc+xml"), williamr@2: _S8("application/vnd.syncml.dm+wbxml"), williamr@2: _S8("application/vnd.syncml.dm+xml"), williamr@2: _S8("application/vnd.syncml.notification"), williamr@2: _S8("application/vnd.wap.xhtml+xml"), williamr@2: _S8("application/vnd.wv.csp.cir"), williamr@2: _S8("application/vnd.oma.dd+xml"), williamr@2: _S8("application/vnd.oma.drm.message"), williamr@2: _S8("application/vnd.oma.drm.content"), williamr@2: _S8("application/vnd.oma.drm.rights+xml"), williamr@2: _S8("application/vnd.oma.drm.rights+wbxml"), williamr@2: _S8("application/vnd.oma.drm.roap-trigger+xml"), williamr@2: _S8("application/vnd.oma.drm.roap-trigger+wbxml"),//0x4D williamr@2: }; williamr@2: williamr@2: williamr@2: // williamr@2: // Table 41. Languages williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TInt KHttpNumLanguages = 0x8D; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: static const TText8* const KHttpLanguages[] = williamr@2: { williamr@2: _S8("AFAR AA"), williamr@2: _S8("ABKHAZIAN AB"), williamr@2: _S8("AFRIKAANS AF"), williamr@2: _S8("AMHARIC AM"), williamr@2: _S8("ARABIC AR"), williamr@2: _S8("ASSAMESE AS"), williamr@2: _S8("AYMARA AY"), williamr@2: _S8("AZERBAIJANI AZ"), williamr@2: _S8("BASHKIR BA"), williamr@2: _S8("BYELORUSSIAN BE"), williamr@2: _S8("BULGARIAN BG"), williamr@2: _S8("BIHARI BH"), williamr@2: _S8("BISLAMA BI"), williamr@2: _S8("BENGALI BANGLA BN"), williamr@2: _S8("TIBETAN BO"), williamr@2: _S8("BRETON BR"), williamr@2: _S8("CATALAN CA"), williamr@2: _S8("CORSICAN CO"), williamr@2: _S8("CZECH CS"), williamr@2: _S8("WELSH CY"), williamr@2: _S8("DANISH DA"), williamr@2: _S8("GERMAN DE"), williamr@2: _S8("BHUTANI DZ"), williamr@2: _S8("GREEK EL"), williamr@2: _S8("ENGLISH EN"), williamr@2: _S8("ESPERANTO EO"), williamr@2: _S8("SPANISH ES"), williamr@2: _S8("ESTONIAN ET"), williamr@2: _S8("BASQUE EU"), williamr@2: _S8("PERSIAN farsi FA"), williamr@2: _S8("FINNISH FI"), williamr@2: _S8("FIJI FJ"), williamr@2: _S8("URDU UR"), williamr@2: _S8("FRENCH FR"), williamr@2: _S8("UZBEK UZ"), williamr@2: _S8("IRISH GA"), williamr@2: _S8("SCOTS-GAELIC GD"), williamr@2: _S8("GALICIAN GL"), williamr@2: _S8("GUARANI GN"), williamr@2: _S8("GUJARATI GU"), williamr@2: _S8("HAUSA HA"), williamr@2: _S8("HEBREW HE"), williamr@2: _S8("HINDI HI"), williamr@2: _S8("CROATIAN HR"), williamr@2: _S8("HUNGARIAN HU"), williamr@2: _S8("ARMENIAN HY"), williamr@2: _S8("VIETNAMESE VI"), williamr@2: _S8("INDONESIAN ID"), williamr@2: _S8("WOLOF WO"), williamr@2: _S8("XHOSA XH"), williamr@2: _S8("ICELANDIC IS"), williamr@2: _S8("ITALIAN IT"), williamr@2: _S8("YORUBA YO"), williamr@2: _S8("JAPANESE JA"), williamr@2: _S8("JAVANESE JV"), williamr@2: _S8("GEORGIAN KA"), williamr@2: _S8("KAZAKH KK"), williamr@2: _S8("ZHUANG ZA"), williamr@2: _S8("CAMBODIAN KM"), williamr@2: _S8("KANNADA KN"), williamr@2: _S8("KOREAN KO"), williamr@2: _S8("KASHMIRI KS"), williamr@2: _S8("KURDISH KU"), williamr@2: _S8("KIRGHIZ KY"), williamr@2: _S8("CHINESE ZH"), williamr@2: _S8("LINGALA LN"), williamr@2: _S8("LAOTHIAN LO"), williamr@2: _S8("LITHUANIAN LT"), williamr@2: _S8("LATVIAN LETTISH LV"), williamr@2: _S8("MALAGASY MG"), williamr@2: _S8("MAORI MI"), williamr@2: _S8("MACEDONIAN MK"), williamr@2: _S8("MALAYALAM ML"), williamr@2: _S8("MONGOLIAN MN"), williamr@2: _S8("MOLDAVIAN MO"), williamr@2: _S8("MARATHI MR"), williamr@2: _S8("MALAY MS"), williamr@2: _S8("MALTESE MT"), williamr@2: _S8("BURMESE MY"), williamr@2: _S8("UKRAINIAN UK"), williamr@2: _S8("NEPALI NE"), williamr@2: _S8("DUTCH NL"), williamr@2: _S8("NORWEGIAN NO"), williamr@2: _S8("OCCITAN OC"), williamr@2: _S8("AFAN OROMO OM"), williamr@2: _S8("ORIYA OR"), williamr@2: _S8("PUNJABI PA"), williamr@2: _S8("POLISH PL"), williamr@2: _S8("PASHTO PUSHTO PS"), williamr@2: _S8("PORTUGUESE PT"), williamr@2: _S8("QUECHUA QU"), williamr@2: _S8("ZULU ZU"), williamr@2: _S8("KURUNDI RN"), williamr@2: _S8("ROMANIAN RO"), williamr@2: _S8("RUSSIAN RU"), williamr@2: _S8("KINYARWANDA RW"), williamr@2: _S8("SANSKRIT SA"), williamr@2: _S8("SINDHI SD"), williamr@2: _S8("SANGHO SG"), williamr@2: _S8("SERBO-CROATIAN SH"), williamr@2: _S8("SINGHALESE SI"), williamr@2: _S8("SLOVAK SK"), williamr@2: _S8("SLOVENIAN SL"), williamr@2: _S8("SAMOAN SM"), williamr@2: _S8("SHONA SN"), williamr@2: _S8("SOMALI SO"), williamr@2: _S8("ALBANIAN SQ"), williamr@2: _S8("SERBIAN SR"), williamr@2: _S8("SISWATI SS"), williamr@2: _S8("SESOTHO ST"), williamr@2: _S8("SUNDANESE SU"), williamr@2: _S8("SWEDISH SV"), williamr@2: _S8("SWAHILI SW"), williamr@2: _S8("TAMIL TA"), williamr@2: _S8("TELUGU TE"), williamr@2: _S8("TAJIK TG"), williamr@2: _S8("THAI TH"), williamr@2: _S8("TIGRINYA TI"), williamr@2: _S8("TURKMEN TK"), williamr@2: _S8("TAGALOG TL"), williamr@2: _S8("SETSWANA TN"), williamr@2: _S8("TONGA TO"), williamr@2: _S8("TURKISH TR"), williamr@2: _S8("TSONGA TS"), williamr@2: _S8("TATAR TT"), williamr@2: _S8("TWI TW"), williamr@2: _S8("UIGUR UG"), williamr@2: _S8(""), williamr@2: _S8("NAURU NA"), williamr@2: _S8("FAROESE FO"), williamr@2: _S8("FRISIAN FY"), williamr@2: _S8("INTERLINGUA IA"), williamr@2: _S8("VOLAPUK VO"), williamr@2: _S8("INTERLINGUE IE"), williamr@2: _S8("INUPIAK IK"), williamr@2: _S8("YIDDISH YI"), williamr@2: _S8("INUKTITUT IU"), williamr@2: _S8("GREENLANDIC KL"), williamr@2: _S8("LATIN LA"), williamr@2: _S8("RHAETO-ROMANCE RM") williamr@2: }; williamr@2: williamr@2: // williamr@2: // WSP Character Set Assignments williamr@2: // williamr@2: // (see [WSP] Appdx A Table 42) williamr@2: // williamr@2: // The following two arrays form a paired look-up table williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TInt KHttpNumCharacterSets = 15; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: static const TText8* const KHttpCharacterSetNames[] = williamr@2: { williamr@2: _S8("big5"), williamr@2: _S8("iso-10646-ucs-2"), williamr@2: _S8("iso-8859-1"), williamr@2: _S8("iso-8859-2"), williamr@2: _S8("iso-8859-3"), williamr@2: _S8("iso-8859-4"), williamr@2: _S8("iso-8859-5"), williamr@2: _S8("iso-8859-6"), williamr@2: _S8("iso-8859-7"), williamr@2: _S8("iso-8859-8"), williamr@2: _S8("iso-8859-9"), williamr@2: _S8("shift_JIS"), williamr@2: _S8("us-ascii"), williamr@2: _S8("utf-8"), williamr@2: _S8("gsm-default-alphabet") // (not yet assigned) williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: static const TInt KHttpCharacterSetCodes[] = williamr@2: { williamr@2: 0x07ea, // big5 williamr@2: 0x03e8, // iso-10646-ucs-2 williamr@2: 0x04, // iso-8859-1 williamr@2: 0x05, // iso-8859-2 williamr@2: 0x06, // iso-8859-3 williamr@2: 0x07, // iso-8859-4 williamr@2: 0x08, // iso-8859-5 williamr@2: 0x09, // iso-8859-6 williamr@2: 0x0a, // iso-8859-7 williamr@2: 0x0b, // iso-8859-8 williamr@2: 0x0c, // iso-8859-9 williamr@2: 0x11, // shift_JIS williamr@2: 0x03, // us-ascii williamr@2: 0x6a, // utf-8 williamr@2: 0xffff // gsm-default-alphabet (not yet assigned) williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Additional enumeration implementations for well known field values williamr@2: that may be found in the Cache-Control header williamr@2: As described in section 14.9 of RFC-2616 williamr@2: Assigned WSP encodings williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: enum TCacheControlFieldValue williamr@2: { williamr@2: ECacheControlNoCache = 0x80,// "no-cache" williamr@2: ECacheCtrlNoStore, // "no-store" williamr@2: ECacheCtrlMaxAge, // "max-age" williamr@2: ECacheCtrlMaxStale, // "max-stale" williamr@2: ECacheCtrlMinFresh, // "min-fresh" williamr@2: ECacheCtrlOnlyIfCached, // "only-if-cached" williamr@2: ECacheCtrlPublic, // "public" williamr@2: ECacheCtrlPrivate, // "private" williamr@2: ECacheCtrlNoTransform, // "no-transform" williamr@2: ECacheCtrlMustRevalidate, // "must-revalidate" williamr@2: ECacheCtrlProxyRevalidate, // "proxy-revalidate" williamr@2: ECacheCtrlCacheExtension // "cache-extension" williamr@2: }; williamr@2: williamr@2: #endif // __THTTPFIELDS_H__