There are multiple ways of doing that:
The best way is to pass the request as parameter. It's only valid within the call to the handle event, so using it as a Parameter ensures that it's lifetime is always respected
Another good way is to make NextText a nested Funktion of the handler method. Nested functions have access to the parameters (and locals defined before the nested function) of the parent. This also enforces lifetime as it's only available within the function.
Then there is the slightly worse option to put it into a thread local global variable. This way it's a global variable accessible by all functions, but localized to a thread. It works but is bad because now you don't enforce scoping and lifetime.
Lastly you can do the worst option to put the request as a class field or a global variable. This also grants access to all functions, and has the same issues that thread local global have, plus additionally if you have multi threaded request handling they override each others requests, forcing you to stick to single threaded Webservers.