/*
* This file is part of rasdaman community.
*
* Rasdaman community is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Rasdaman community 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with rasdaman community. If not, see .
*
* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
rasdaman GmbH.
*
* For more information please see
* or contact Peter Baumann via .
*/
/*------------------------------------------------------------------------*/
/* http-defs.h - defines for HTTP. */
/*------------------------------------------------------------------------*/
#ifndef _HTTP_DEFS_H
#define _HTTP_DEFS_H
#define AUTH_MAX_RETRIES 1
/*
*/
#define HTTP_REQUEST 1
#define HTTP_RESPONSE 2
/* ReqInfo/RespInfo structure states when reading/parsing requests/responses
*/
#define RI_EMPTY 0
#define RI_READ_OK 1
#define RI_READ_ERROR 2
#define RI_PARSE_OK 3
#define RI_PARSE_WARN 4 /* trouble when parsing MsgHeaders */
#define RI_PARSE_ERROR 5 /* Request Line/Status Line not found */
/* Known Protocols:
*/
#define HTTP_0_9 0
#define HTTP_0_9_STRING ""
#define HTTP_1_0 1
#define HTTP_1_0_STRING "HTTP/1.0"
#define HTTP_1_1 2
#define HTTP_1_1_STRING "HTTP/1.1"
/* HTTP Method Keys:
*/
#define MKEY_NONE 0
#define MKEY_GET 1
#define MKEY_HEAD 2
#define MKEY_PUT 3
#define MKEY_POST 4
#define MKEY_DELETE 5
#define MKEY_OPTIONS 6
#define MKEY_TRACE 7
#define MKEY_UNKNOWN 999
#define NUM_MKEYS 7
/* HTTP Status Codes:
*/
#define STATUS_UNKNOWN 0
#define STATUS_UNDEFINED 0
#define STATUS_Continue 100
#define STATUS_Switching_Protocols 101
#define STATUS_OK 200
#define STATUS_Created 201
#define STATUS_Accepted 202
#define STATUS_Non_Authoritative_Information 203
#define STATUS_No_Content 204
#define STATUS_Reset_Content 205
#define STATUS_Partial_Content 206
#define STATUS_Multiple_Choices 300
#define STATUS_Moved_Permanently 301
#define STATUS_Moved_Temporarily 302
#define STATUS_See_Other 303
#define STATUS_Not_Modified 304
#define STATUS_Use_Proxy 305
#define STATUS_Switch_Proxy 306
#define STATUS_Bad_Request 400
#define STATUS_Unauthorized 401
#define STATUS_Payment_Required 402
#define STATUS_Forbidden 403
#define STATUS_Not_Found 404
#define STATUS_Method_Not_Allowed 405
#define STATUS_Not_Acceptable 406
#define STATUS_Proxy_Authentication_Required 407
#define STATUS_Request_Timeout 408
#define STATUS_Conflict 409
#define STATUS_Gone 410
#define STATUS_Length_Required 411
#define STATUS_Precondition_Failed 412
#define STATUS_Request_Entity_Too_Large 413
#define STATUS_Request_URI_Too_Long 414
#define STATUS_Unsupported_Media_Type 415
#define STATUS_Requested_Range_Not_Valid 416
#define STATUS_Expectation_Failed 419
#define STATUS_Internal_Server_Error 500
#define STATUS_Not_Implemented 501
#define STATUS_Bad_Gateway 502
#define STATUS_Service_Unavailable 503
#define STATUS_Gateway_Timeout 504
#define STATUS_HTTP_Version_Not_Supported 505
#define STATUS_Redirection_Failed 506
/* HTTP Header Keys:
*/
#define HKEY_CONTINUE 0
#define HKEY_Accept 1
#define HKEY_Accept_Charset 2
#define HKEY_Accept_Encoding 3
#define HKEY_Accept_Language 4
#define HKEY_Accept_Ranges 5
#define HKEY_Age 6
#define HKEY_Allow 7
#define HKEY_Authorization 8
#define HKEY_Cache_Control 9
#define HKEY_Compliance 10
#define HKEY_Connection 11
#define HKEY_Content_Base 12
#define HKEY_Content_Encoding 13
#define HKEY_Content_Language 14
#define HKEY_Content_Length 15
#define HKEY_Content_Location 16
#define HKEY_Content_MD5 17
#define HKEY_Content_Range 18
#define HKEY_Content_Type 19
#define HKEY_Date 20
#define HKEY_ETag 21
#define HKEY_Expect 22
#define HKEY_Expires 23
#define HKEY_From 24
#define HKEY_Host 25
#define HKEY_If_Modified_Since 26
#define HKEY_If_Match 27
#define HKEY_If_None_Match 28
#define HKEY_If_Range 29
#define HKEY_If_Unmodified_Since 30
#define HKEY_Keep_Alive 31
#define HKEY_Last_Modified 32
#define HKEY_Location 33
#define HKEY_Max_Forwards 34
#define HKEY_Non_Compliance 35
#define HKEY_Pragma 36
#define HKEY_Proxy_Authenticate 37
#define HKEY_Proxy_Authorization 38
#define HKEY_Public 39
#define HKEY_Range 40
#define HKEY_Referer 41
#define HKEY_Retry_After 42
#define HKEY_Server 43
#define HKEY_Set_Proxy 44
#define HKEY_Transfer_Encoding 45
#define HKEY_Upgrade 46
#define HKEY_User_Agent 47
#define HKEY_Vary 48
#define HKEY_Warning 49
#define HKEY_WWW_Authenticate 50
#define HKEY_UNKNOWN 999
#define NUM_HKEYS 50
/* Language Keys:
*/
/* These numbers are intentionally choosen: */
/* Space left for upgrades. */
/* See also: ISP 639 / Version 1 */
#define LANG_UNKNOWN 0
#define LANG_DE 22
#define LANG_EN 25
#define LANG_EO 26
#define LANG_ES 27
#define LANG_FR 34
#define LANG_IT 53
/* Security Realm Keys:
*/
#define REALM_ERROR -1
#define REALM_UNKNOWN 0
#define REALM_UNDEFINED 0
#define REALM_IPCLASS_A 1
#define REALM_IPCLASS_B 2
#define REALM_IPCLASS_C 3
#define REALM_IPADDRESS 4
#define REALM_HOSTNAME 10
#define REALM_DOMAIN 11
#endif /* _HTTP_DEFS_H not defined */