We will start by adding the Python code needed to handle channels on the server side. We expect the JavaScript client will make an HTTP GET
request to request a channel, so we add a request handler that will create a channel and return a token in the JSON format to access it. We first import the modules needed at the top of our main.py
module:
from google.appengine.api import channel from utils import get_notification_client_id import json
Then, we add the code for the request handler:
class GetTokenHandler(webapp2.RequestHandler): def get(self): user = users.get_current_user() if user is None: self.abort(401) client_id = get_notification_client_id(user) token = channel.create_channel(client_id, 60) self.response.headers['Content-Type'] = 'application/json' self.response.write(json.dumps({'token': token}))
We first check that the user is logged in and return an HTTP 401: Unauthorized error page if this...