NCBI C++ ToolKit
cgi_util.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: cgi_util.cpp 53572 2012-03-28 14:45:54Z ivanov $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Alexey Grichenko
27  *
28  * File Description: CGI related utility classes and functions
29  *
30  */
31 
32 #include <ncbi_pch.hpp>
33 #include <cgi/cgi_util.hpp>
34 
35 
37 
38 
39 //////////////////////////////////////////////////////////////////////////////
40 //
41 // Url encode/decode
42 //
43 
44 extern SIZE_TYPE URL_DecodeInPlace(string& str, EUrlDecode decode_flag)
45 {
47  return 0;
48 }
49 
50 
51 extern string URL_DecodeString(const string& str,
52  EUrlEncode encode_flag)
53 {
54  if (encode_flag == eUrlEncode_None) {
55  return str;
56  }
57  return NStr::URLDecode(str, encode_flag == eUrlEncode_PercentOnly ?
59 }
60 
61 
62 extern string URL_EncodeString(const string& str,
63  EUrlEncode encode_flag)
64 {
65  return NStr::URLEncode(str, NStr::EUrlEncode(encode_flag));
66 }
67 
68 
static const char * str(char *buf, int n)
Definition: stats.c:84
string URL_DecodeString(const string &str, EUrlEncode encode_flag)
Definition: cgi_util.cpp:51
SIZE_TYPE URL_DecodeInPlace(string &str, EUrlDecode decode_flag)
Definition: cgi_util.cpp:44
string URL_EncodeString(const string &str, EUrlEncode encode_flag)
Definition: cgi_util.cpp:62
EUrlEncode
Definition: cgi_util.hpp:56
EUrlDecode
Definition: cgi_util.hpp:65
@ eUrlEncode_None
Definition: cgi_util.hpp:57
@ eUrlEncode_PercentOnly
Definition: cgi_util.hpp:60
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
NCBI_NS_STD::string::size_type SIZE_TYPE
Definition: ncbistr.hpp:132
EUrlEncode
URL-encode flags.
Definition: ncbistr.hpp:3143
EUrlDecode
URL decode flags.
Definition: ncbistr.hpp:3159
static string URLDecode(const CTempString str, EUrlDecode flag=eUrlDec_All)
URL-decode string.
Definition: ncbistr.cpp:6205
static void URLDecodeInPlace(string &str, EUrlDecode flag=eUrlDec_All)
URL-decode string to itself.
Definition: ncbistr.cpp:6213
static string URLEncode(const CTempString str, EUrlEncode flag=eUrlEnc_SkipMarkChars)
URL-encode string.
Definition: ncbistr.cpp:6053
@ eUrlDec_All
Decode '+' to space.
Definition: ncbistr.hpp:3160
@ eUrlDec_Percent
Decode only XX.
Definition: ncbistr.hpp:3161
Modified on Wed Sep 04 15:04:00 2024 by modify_doxy.py rev. 669887