29 std::stringstream opaque;
34 if (iter != params.
reqHeaders.end() && !iter->second.empty()) {
36 std::istringstream requestStream(iter->second);
41 }
else if (!strncmp(token.c_str(),
"authz=", 6)) {
42 if (!has_authz_header) {
43 params.
reqHeaders[
"Authorization"] = token.substr(6);
44 has_authz_header =
true;
46 }
else if (!strncmp(token.c_str(),
"access_token=", 13) && !has_authz_header) {
47 params.
reqHeaders[
"Authorization"] = token.substr(13);
48 has_authz_header =
true;
50 opaque <<
"&" << token;
57 auto it = std::find_if(params.
reqHeaders.begin(),params.
reqHeaders.end(),[&hdr2cgi](
const auto & elt){
58 return !strcasecmp(elt.first.c_str(),hdr2cgi.first.c_str());
61 opaque <<
"&" << hdr2cgi.second <<
"=" << it->second;
68 const auto & [digestName,digestValue] = *params.
reprDigest.begin();
69 opaque <<
"&cks.type=" << digestName <<
"&cks.value=" << digestValue;
void getline(uchar *buff, int blen)
static constexpr std::string_view OSS_TASK_OPAQUE
static std::string prepareOpenURL(PrepareOpenURLParams ¶ms)
static std::map< std::string, T >::const_iterator caseInsensitiveFind(const std::map< std::string, T > &m, const std::string &lowerCaseSearchKey)
const std::map< std::string, std::string > & reprDigest
const std::string & reqResource
const std::map< std::string, std::string > & hdr2cgimap
std::map< std::string, std::string > & reqHeaders