MCPcopy Index your code
hub / github.com/aws/aws-cli / register_session_id_event

Function register_session_id_event

awscli/telemetry.py:299–327  ·  view source on GitHub ↗
(session, orchestrator_factory=None)

Source from the content-addressed store, hash-verified

297
298
299def register_session_id_event(session, orchestrator_factory=None):
300 if orchestrator_factory is None:
301 orchestrator_factory = _get_cli_session_orchestrator
302 event_emitter = session.get_component('event_emitter')
303
304 def _inject_session_id(**kwargs):
305 try:
306 orchestrator = orchestrator_factory()
307 sid_component = UserAgentComponent(
308 "sid", orchestrator.session_id
309 ).to_string()
310 # Insert sid after md/installer to preserve original
311 # user-agent component ordering.
312 extra = session.user_agent_extra
313 idx = extra.find('md/installer')
314 end = extra.find(' ', idx)
315 if end == -1:
316 end = len(extra)
317 session.user_agent_extra = (
318 extra[:end] + f' {sid_component}' + extra[end:]
319 )
320 except Exception:
321 # Ideally, the AWS CLI should never throw if the session id
322 # can't be generated since it's not critical for users. Issues
323 # with session data should instead be caught server-side.
324 pass
325 event_emitter.unregister('before-create-client', _inject_session_id)
326
327 event_emitter.register('before-create-client', _inject_session_id)

Calls 2

get_componentMethod · 0.45
registerMethod · 0.45