def post(self): ''' Processes user login ''' self.response.headers['Content-Type'] = 'text/html' username = self.request.get('username') password = self.request.get('password') values = {'username': username, 'password': password} cookie = self.request.cookies.get('user_id') service = UserService() new_cookie = '' isError = False try: new_cookie = service.login(username=username, password=password, cookie=cookie) except InvalidCookieError as error: isError = True self.response.headers.add_header('Set-Cookie', 'user_id=; Path=/') self.redirect('/final/signup') except LoginError as error: isError = True messages = error.validation_messages logging.info("LoginError msgs: " + str(messages)) values.update(messages) path = os.path.join(os.path.dirname(__file__), '../templates/login.html') self.response.out.write(template.render(path, values)) if not isError: self.response.headers.add_header('Set-Cookie', 'user_id=%s; Path=/' % new_cookie) self.redirect('/final/welcome')
def check_cookie(request_handler): try: cookie = request_handler.request.cookies.get("user_id") user_service = UserService() user_service.check_cookie(cookie) except InvalidCookieError as error: request_handler.response.headers.add_header('Set-Cookie', 'user_id=; Path=/') request_handler.redirect('/final/signup')
def get(self): ''' Handles get requests ''' self.response.headers['Content-Type'] = 'text/html' #delete user from data store user_id = self.request.cookies.get("user_id") if user_id: user_id = user_id[0:user_id.find('|')] service = UserService() logging.info("User %s logged out? %s" % (user_id, str(service.logout(user_id)))) #clear cookie by setting it to an empty string self.response.headers.add_header('Set-Cookie', 'user_id=; Path=/') self.redirect('/final/signup')