00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _httputility_h
00018 #define _httputility_h
00019
00020 #include <spl/String.h>
00021
00027 class HttpUtility
00028 {
00029 private:
00030 HttpUtility() {}
00031
00032 inline static bool NotEncoded (char c)
00033 {
00034 return (c == '!' || c == '\'' || c == '(' || c == ')' || c == '*' || c == '-' || c == '.' || c == '_');
00035 }
00036
00037 public:
00038
00039 static StringPtr HtmlAttributeEncode (const char *cp, int len);
00040 inline static StringPtr HtmlAttributeEncode (const String& s) { return HtmlAttributeEncode(s.GetChars(), s.Length()); }
00041
00042 static bool HtmlAttributeEncodeRequired (const char *cp, int len);
00043 inline static bool HtmlAttributeEncodeRequired (const String& s) { return HtmlAttributeEncodeRequired(s.GetChars(), s.Length()); }
00044
00045 static StringPtr UrlDecode (const char *cp, int len);
00046 inline static StringPtr UrlDecode (const String& s) { return UrlDecode(s.GetChars(), s.Length()); }
00047
00048 static StringPtr UrlEncode (const char *cp, int len);
00049 inline static StringPtr UrlEncode (const String& s) { return UrlEncode(s.GetChars(), s.Length()); }
00050
00051 static bool UrlEncodeRequired (const char *cp, int len);
00052 inline static bool UrlEncodeRequired (const String& s) { return UrlEncodeRequired(s.GetChars(), s.Length()); }
00053
00054 static StringPtr HtmlDecode (const char *cp, int len);
00055 inline static StringPtr HtmlDecode (const String& s) { return HtmlDecode(s.GetChars(), s.Length()); }
00056
00057 static StringPtr HtmlEncode (const char *cp, int len);
00058 inline static StringPtr HtmlEncode (const String& s) { return HtmlEncode(s.GetChars(), s.Length()); }
00059
00060 static bool HtmlEncodeRequired (const char *cp, int len);
00061 inline static bool HtmlEncodeRequired (const String& s) { return HtmlEncodeRequired(s.GetChars(), s.Length()); }
00062 };
00063
00066 #endif