MCPcopy Index your code
hub / github.com/pywebio/PyWebIO / get_session_info_from_headers

Function get_session_info_from_headers

pywebio/session/base.py:174–193  ·  view source on GitHub ↗

从Http请求头中获取会话信息 :param headers: 字典类型的Http请求头 :return: 表示会话信息的对象,属性有: * ``user_agent`` : 用户浏览器信息。可用字段见 https://github.com/selwin/python-user-agents#usage * ``user_language`` : 用户操作系统使用的语言 * ``server_host`` : 当前会话的服务器host,包含域名和端口,端口为80时可以被省略 * ``origin`` : 当前用户的页面

(headers)

Source from the content-addressed store, hash-verified

172
173
174def get_session_info_from_headers(headers):
175 """从Http请求头中获取会话信息
176
177 :param headers: 字典类型的Http请求头
178 :return: 表示会话信息的对象,属性有:
179
180 * ``user_agent`` : 用户浏览器信息。可用字段见 https://github.com/selwin/python-user-agents#usage
181 * ``user_language`` : 用户操作系统使用的语言
182 * ``server_host`` : 当前会话的服务器host,包含域名和端口,端口为80时可以被省略
183 * ``origin`` : 当前用户的页面地址. 包含 协议、主机、端口 部分. 比如 ``'http://localhost:8080'`` .
184 可能为空,但保证当用户的页面地址不在当前服务器下(即 主机、端口部分和 ``server_host`` 不一致)时有值.
185 """
186 ua_str = headers.get('User-Agent', '')
187 ua = user_agents.parse(ua_str)
188 user_language = headers.get('Accept-Language', '').split(',', 1)[0].split(' ', 1)[0].split(';', 1)[0]
189 server_host = headers.get('Host', '')
190 origin = headers.get('Origin', '')
191 session_info = dict(user_agent=ua, user_language=user_language,
192 server_host=server_host, origin=origin)
193 return session_info

Callers 5

make_session_infoMethod · 0.85
make_session_infoMethod · 0.85
make_session_infoMethod · 0.85
openMethod · 0.85

Calls 1

getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…