bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
HttpNames.h
1// -*- mode: c++; c-basic-offset:4 -*-
2
3// This file is part of the BES http package, part of the Hyrax data server.
4
5// Copyright (c) 2020 OPeNDAP, Inc.
6// Author: Nathan Potter <ndp@opendap.org>
7//
8// This library is free software; you can redistribute it and/or
9// modify it under the terms of the GNU Lesser General Public
10// License as published by the Free Software Foundation; either
11// version 2.1 of the License, or (at your option) any later version.
12//
13// This library is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16// Lesser General Public License for more details.
17//
18// You should have received a copy of the GNU Lesser General Public
19// License along with this library; if not, write to the Free Software
20// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21//
22// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
23
24// Authors:
25// ndp Nathan Potter <ndp@opendap.org>
26
27#ifndef _bes_http_HTTP_NAMES_H
28#define _bes_http_HTTP_NAMES_H 1
29
30#define HTTP_PROTOCOL "http://"
31#define HTTPS_PROTOCOL "https://"
32#define FILE_PROTOCOL "file://"
33
34#define HTTP_USER_AGENT_KEY "Http.UserAgent"
35#define HTTP_DEFAULT_USER_AGENT "hyrax"
36
37#define HTTP_MIMELIST_KEY "Http.MimeTypes"
38#define HTTP_PROXYPROTOCOL_KEY "Http.ProxyProtocol"
39#define HTTP_PROXYHOST_KEY "Http.ProxyHost"
40#define HTTP_PROXYPORT_KEY "Http.ProxyPort"
41#define HTTP_PROXYAUTHTYPE_KEY "Http.ProxyAuthType"
42#define HTTP_PROXYUSER_KEY "Http.ProxyUser"
43#define HTTP_PROXYPASSWORD_KEY "Http.ProxyPassword"
44#define HTTP_PROXYUSERPW_KEY "Http.ProxyUserPW"
45#define HTTP_NO_PROXY_REGEX_KEY "Http.NoProxy"
46
47#define HTTP_MAX_REDIRECTS_KEY "Http.MaxRedirects"
48#define HTTP_MAX_REDIRECTS_DEFAULT 20
49
50#define REMOTE_RESOURCE_DEFAULT_EXPIRED_INTERVAL 3600
51
52#define HTTP_NETRC_FILE_KEY "Http.netrc.file"
53
54#define HTTP_COOKIES_FILE_KEY "Http.Cookies.File"
55#define HTTP_DEFAULT_COOKIES_FILE "/tmp/.hyrax-cookies"
56
57#define HTTP_TARGET_URL_KEY "target_url"
58#define HTTP_URL_BASE_KEY "url_base"
59#define HTTP_QUERY_STRING_KEY "query_string"
60#define HTTP_URL_BASE_KEY "url_base"
61#define HTTP_INGEST_TIME_KEY "ingest_time"
62
63#define HTTP_NO_RETRY_URL_REGEX_KEY "Http.No.Retry.Regex"
64#define HTTP_CACHE_EFFECTIVE_URLS_KEY "Http.cache.effective.urls"
65#define HTTP_CACHE_EFFECTIVE_URLS_SKIP_REGEX_KEY "Http.cache.effective.urls.skip.regex.pattern"
66
67#define AMS_EXPIRES_HEADER_KEY "X-Amz-Expires"
68#define AWS_DATE_HEADER_KEY "X-Amz-Date"
69#define CLOUDFRONT_EXPIRES_HEADER_KEY "Expires"
70
71#define HTTP_EFFECTIVE_URL_DEFAULT_EXPIRES_INTERVAL 300
72#define HTTP_URL_REFRESH_THRESHOLD 60
73
74#define EDL_AUTH_TOKEN_KEY "edl_auth_token"
75#define EDL_ECHO_TOKEN_KEY "edl_echo_token"
76#define EDL_UID_KEY "uid"
77
78#define REMOTE_RESOURCE_TMP_DIR_KEY "Http.RemoteResource.TmpDir" // default is /tmp/bes_rr_tmp
79#define REMOTE_RESOURCE_DELETE_TMP_FILE "Http.RemoteResource.TmpFile.Delete" // default is true
80
81#define HTTP_MODULE "http"
82
83#endif // _bes_http_HTTP_NAMES_H