Then, I would get the headers I need from session_info.ws.request.headers._dict.
I understand there have been some dramatic rearrangements in scriptrunner and server modules which broke this in 1.12.
That’s fair! No one ever promised it would work like a public API and I have 1.10 pinned so no problem there… but I would like to get this working again.
I found the scriptrunner and server modules again, but #a823b55 also removed the get_current class method from Server and now I’m at a loss. Can someone help me access to this information?
Thanks for surfacing this! The Server.get_current() method disappearing was indeed a consequence of a major refactor to the Streamlit internals that had its first changes appear in 1.12.0. As far as I know, there’s no easy way to access websocket connection headers for a given browser tab with its removal (there may be some clever hack possible, but it’s non-obvious).
While this API was technically internal/undocumented, we also recognize that a lot of people rely on it for auth purposes. We’re currently considering ways to revive the functionality (potentially in a more user-friendly form) in a future release, and the status of this is being tracked in this GitHub issue: Accessing websocket headers in Streamlit 1.12.0 · Issue #5166 · streamlit/streamlit · GitHub.
Thanks for the reply Vincent, I will wait at 1.11.1 until this comes back in some form.
Of course I understand the risk that comes with using these undocumented solutions. Then again a lot of integrated Streamlit features like session state or multipage apps started out as hacks Let’s hope this follows the same route.
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.