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_UTILS_USER_AGENT_UTILS_HPP_INCLUDED
3
#define _KURLYK_UTILS_USER_AGENT_UTILS_HPP_INCLUDED
4
7
8
namespace
kurlyk::utils
{
9
13
inline
std::string
convert_user_agent_to_sec_ch_ua
(
const
std::string& user_agent) {
14
// Regular expression to extract the browser name and version from User-Agent
15
static
const
std::regex browser_regex(R
"(Chrome/(\d+)\.\d+\.\d+\.\d+)");
16
std::string version =
"0"
;
17
18
// Match the User-Agent string to extract the Chrome version
19
std::smatch match;
20
if
(std::regex_search(user_agent, match, browser_regex) && match.size() > 1) {
21
version = match[1].str();
// Extract version number
22
}
23
24
// Generate sec-ch-ua header
25
std::string sec_ch_ua =
"\"Not;A Brand\";v=\"99\", \"Google Chrome\";v=\""
+ version +
"\", \"Chromium\";v=\""
+ version +
"\""
;
26
return
sec_ch_ua;
27
}
28
29
}
// namespace kurlyk::utils
30
31
#endif
// _KURLYK_UTILS_USER_AGENT_UTILS_HPP_INCLUDED
kurlyk::utils
Definition
Base64Url.hpp:13
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:13
include
kurlyk
utils
user_agent_utils.hpp
Generated by
1.17.0