There are many reasons a read or write operation may fail. A frequent one is because your security rules reject the operation, for example because you're not authenticated (by default a database can only be accessed by an authenticated user) or because you're writing/listening at a location where you don't have permission.
When working with an web application it's sometimes important to access data included in the request, beyond the URL.
In Flask this is stored under the global request object, which you can access in your code via
from flask import request.