Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/shared/Utils.h

Issue 4974480757620736: Issue #1356 - Improve detection of the issuer of the request (Closed)
Patch Set: Update to the repositorory tip Created Oct. 24, 2014, 9:38 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 #ifndef UTILS_H 1 #ifndef UTILS_H
2 #define UTILS_H 2 #define UTILS_H
3 3
4 #include <algorithm> 4 #include <algorithm>
5 #include <locale> 5 #include <locale>
6 #include <functional> 6 #include <functional>
7 #include <string> 7 #include <string>
8 8
9 #define WM_ALREADY_UP_TO_DATE WM_APP+1 9 #define WM_ALREADY_UP_TO_DATE WM_APP+1
10 #define WM_UPDATE_CHECK_ERROR WM_APP+2 10 #define WM_UPDATE_CHECK_ERROR WM_APP+2
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 T TrimString(T text) 43 T TrimString(T text)
44 { 44 {
45 // Via http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-st dstring 45 // Via http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-st dstring
46 T trimmed(text); 46 T trimmed(text);
47 std::function<bool(T::value_type)> isspace = std::bind(&std::isspace<T::value_ type>, std::placeholders::_1, std::locale::classic()); 47 std::function<bool(T::value_type)> isspace = std::bind(&std::isspace<T::value_ type>, std::placeholders::_1, std::locale::classic());
48 trimmed.erase(trimmed.begin(), std::find_if(trimmed.begin(), trimmed.end(), st d::not1(isspace))); 48 trimmed.erase(trimmed.begin(), std::find_if(trimmed.begin(), trimmed.end(), st d::not1(isspace)));
49 trimmed.erase(std::find_if(trimmed.rbegin(), trimmed.rend(), std::not1(isspace )).base(), trimmed.end()); 49 trimmed.erase(std::find_if(trimmed.rbegin(), trimmed.rend(), std::not1(isspace )).base(), trimmed.end());
50 return trimmed; 50 return trimmed;
51 } 51 }
52 52
53 template <class T>
54 T ExtractHTTPHeader(const T& allHeaders, const T& targetHeaderName, const T& del imiter)
55 {
56 auto targetHeaderBeginsAt = allHeaders.find(targetHeaderName);
57 if (targetHeaderBeginsAt == T::npos)
58 {
59 return T();
60 }
61 targetHeaderBeginsAt += targetHeaderName.length();
62 auto targetHeaderEndsAt = allHeaders.find(delimiter, targetHeaderBeginsAt);
63 if (targetHeaderEndsAt == T::npos)
64 {
65 return T();
66 }
67 return allHeaders.substr(targetHeaderBeginsAt, targetHeaderEndsAt - targetHead erBeginsAt);
68 }
69
53 #endif // UTILS_H 70 #endif // UTILS_H
OLDNEW
« src/plugin/PluginWbPassThrough.cpp ('K') | « src/plugin/PluginWbPassThrough.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld