emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/websocket 880cf6c623 1/2: make origin available on serv


From: ELPA Syncer
Subject: [elpa] externals/websocket 880cf6c623 1/2: make origin available on server
Date: Sun, 30 Jul 2023 03:58:51 -0400 (EDT)

branch: externals/websocket
commit 880cf6c623c370bb5f17de536fc74e28f2a86ae6
Author: Leon Vack <dev@lgcl.de>
Commit: Leon Vack <dev@lgcl.de>

    make origin available on server
---
 websocket.el | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/websocket.el b/websocket.el
index 947b68b305..dc23f0d77f 100644
--- a/websocket.el
+++ b/websocket.el
@@ -98,6 +98,7 @@ same for the protocols."
   (conn (cl-assert nil) :read-only t)
   ;; Only populated for servers, this is the server connection.
   server-conn
+  origin
   accept-string
   (inflight-input nil))
 
@@ -997,6 +998,7 @@ All these parameters are defined as in `websocket-open'."
                                     ws (plist-get header-info :protocols)
                                     (plist-get header-info :extensions)))
                                   (setf (websocket-ready-state ws) 'open)
+                                  (setf (websocket-origin ws) (plist-get 
header-info :origin))
                                   (websocket-try-callback 'websocket-on-open
                                                           'on-open ws))
                          (message "Invalid client headers found in: %s" output)
@@ -1045,6 +1047,8 @@ messages and a plist containing `:key', the websocket key,
         (setq plist (plist-put plist :extensions 
(websocket-parse-repeated-field
                                                   output
                                                   
"Sec-Websocket-Extensions"))))
+      (when (string-match "^Origin: \\(.+\\)\r\n" output)
+        (setq plist (plist-put plist :origin (match-string 1 output))))
       plist)))
 
 (provide 'websocket)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]