You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ponymail.apache.org by hu...@apache.org on 2021/09/07 23:04:27 UTC

[incubator-ponymail-foal] branch master updated: Delete cookie client-side when logging out.

This is an automated email from the ASF dual-hosted git repository.

humbedooh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git


The following commit(s) were added to refs/heads/master by this push:
     new 469604e  Delete cookie client-side when logging out.
469604e is described below

commit 469604ec361740a415b3627ce280684d6807f8f1
Author: Daniel Gruno <hu...@apache.org>
AuthorDate: Tue Sep 7 18:04:16 2021 -0500

    Delete cookie client-side when logging out.
---
 server/endpoints/preferences.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/server/endpoints/preferences.py b/server/endpoints/preferences.py
index 6914382..4131dbe 100644
--- a/server/endpoints/preferences.py
+++ b/server/endpoints/preferences.py
@@ -18,12 +18,16 @@
 import plugins.server
 import plugins.aaa
 import plugins.session
+import aiohttp.web
+import typing
 
 """ Generic preferences endpoint for Pony Mail codename Foal"""
 """ This is incomplete, but will work for anonymous tests. """
 
 
-async def process(server: plugins.server.BaseServer, session: plugins.session.SessionObject, indata: dict) -> dict:
+async def process(
+    server: plugins.server.BaseServer, session: plugins.session.SessionObject, indata: dict
+) -> typing.Union[dict, aiohttp.web.Response]:
     prefs: dict = {"login": {}}
     lists: dict = {}
     for ml, entry in server.data.lists.items():
@@ -63,6 +67,14 @@ async def process(server: plugins.server.BaseServer, session: plugins.session.Se
         if session.cookie in server.data.sessions:
             del server.data.sessions[session.cookie]
         session.credentials = None
+        return aiohttp.web.Response(
+            headers={
+                "set-cookie": "ponymail=deleted; path=/api; expires=Thu, 01 Jan 1970 00:00:00 GMT",
+                "content-type": "application/json",
+            },
+            status=200,
+            text='{"okay": true}',
+        )
 
     return prefs