bes  Updated for version 3.20.6
GatewayUtils.h
1 // GatewayUtils.h
2 
3 // -*- mode: c++; c-basic-offset:4 -*-
4 
5 // This file is part of gateway_module, A C++ module that can be loaded in to
6 // the OPeNDAP Back-End Server (BES) and is able to handle remote requests.
7 
8 // Copyright (c) 2002,2003 OPeNDAP, Inc.
9 // Author: Patrick West <pwest@ucar.edu>
10 //
11 // This library is free software; you can redistribute it and/or
12 // modify it under the terms of the GNU Lesser General Public
13 // License as published by the Free Software Foundation; either
14 // version 2.1 of the License, or (at your option) any later version.
15 //
16 // This library is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 // Lesser General Public License for more details.
20 //
21 // You should have received a copy of the GNU Lesser General Public
22 // License along with this library; if not, write to the Free Software
23 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 //
25 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
26 
27 // Authors:
28 // pcw Patrick West <pwest@ucar.edu>
29 
30 #ifndef I_GatewayUtils_H
31 #define I_GatewayUtils_H 1
32 
33 #include <string>
34 #include <map>
35 #include <vector>
36 
37 namespace gateway {
38 
42 class GatewayUtils {
43 public:
44 #if 0
45  static std::vector<std::string> WhiteList;
46 #endif
47  static std::map<std::string, std::string> MimeList;
48  static std::string ProxyProtocol;
49  static std::string ProxyHost;
50  static std::string ProxyUserPW;
51  static std::string ProxyUser;
52  static std::string ProxyPassword;
53  static int ProxyPort;
54  static int ProxyAuthType;
55  static bool useInternalCache;
56 
57  static std::string NoProxyRegex;
58 
59  static void Initialize();
60  static void Get_type_from_disposition(const std::string &disp, std::string &type);
61  static void Get_type_from_content_type(const std::string &ctype, std::string &type);
62  static void Get_type_from_url(const std::string &url, std::string &type);
63 #if 0
64  static bool Is_Whitelisted(const std::string &url);
65 #endif
66 };
67 
68 } // namespace gateway
69 
70 #endif // I_GatewayUtils_H
71 
gateway::GatewayUtils
utility class for the gateway remote request mechanism
Definition: GatewayUtils.h:42
gateway::GatewayUtils::Get_type_from_disposition
static void Get_type_from_disposition(const std::string &disp, std::string &type)
Definition: GatewayUtils.cc:304