Kurlyk
Toggle main menu visibility
Loading...
Searching...
No Matches
user_agent_utils.hpp
Go to the documentation of this file.
1
#pragma once
2
#ifndef KURLYK_HEADER_KURLYK_UTILS_USER_AGENT_UTILS_HPP_INCLUDED
3
#define KURLYK_HEADER_KURLYK_UTILS_USER_AGENT_UTILS_HPP_INCLUDED
4
7
8
namespace
kurlyk
{
9
namespace
utils {
10
14
inline
std::string
convert_user_agent_to_sec_ch_ua
(
const
std::string& user_agent) {
15
// Regular expression to extract the browser name and version from User-Agent
16
static
const
std::regex browser_regex(R
"(Chrome/(\d+)\.\d+\.\d+\.\d+)");
17
std::string version =
"0"
;
18
19
// Match the User-Agent string to extract the Chrome version
20
std::smatch match;
21
if
(std::regex_search(user_agent, match, browser_regex) && match.size() > 1) {
22
version = match[1].str();
// Extract version number
23
}
24
25
// Generate sec-ch-ua header
26
std::string sec_ch_ua =
"\"Not;A Brand\";v=\"99\", \"Google Chrome\";v=\""
+ version +
"\", \"Chromium\";v=\""
+ version +
"\""
;
27
return
sec_ch_ua;
28
}
29
30
}
// namespace utils
31
}
// namespace kurlyk
32
33
#endif
// KURLYK_HEADER_KURLYK_UTILS_USER_AGENT_UTILS_HPP_INCLUDED
kurlyk::utils::convert_user_agent_to_sec_ch_ua
std::string convert_user_agent_to_sec_ch_ua(const std::string &user_agent)
Converts a User-Agent string to a sec-ch-ua header value.
Definition
user_agent_utils.hpp:14
kurlyk
Primary namespace for the Kurlyk library, encompassing initialization, request management,...
include
kurlyk
utils
user_agent_utils.hpp
Generated by
1.17.0