aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/language.py
diff options
context:
space:
mode:
Diffstat (limited to 'libpathod/language.py')
-rw-r--r--libpathod/language.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/libpathod/language.py b/libpathod/language.py
index b7b95ed8..29d2ade8 100644
--- a/libpathod/language.py
+++ b/libpathod/language.py
@@ -7,7 +7,7 @@ import time
import copy
import abc
import contrib.pyparsing as pp
-from netlib import http_status, tcp, http_uastrings
+from netlib import http_status, tcp, http_uastrings, websockets
import utils
@@ -1006,6 +1006,13 @@ class Request(_Message):
def resolve(self, settings, **kwargs):
tokens = self.tokens[:]
+ if self.method.string().lower() == "ws":
+ tokens[0] = Method("get")
+ for i in websockets.client_handshake_headers().lst:
+ if not utils.get_header(i[0], self.headers):
+ tokens.append(
+ Header(ValueLiteral(i[0]), ValueLiteral(i[1]))
+ )
if not self.raw:
if not utils.get_header("Content-Length", self.headers):
if self.body:
@@ -1063,7 +1070,7 @@ class WebsocketFrame(_Message):
atom = pp.MatchFirst(parts)
resp = pp.And(
[
- pp.Literal("ws"),
+ pp.Literal("wf"),
Sep,
pp.ZeroOrMore(Sep + atom)
]