Home | History | Annotate | Download | only in mod_pywebsocket

Lines Matching full:self

101     def __init__(self, request, dispatcher, strict=False):
115 self._request = request
116 self._dispatcher = dispatcher
117 self._strict = strict
119 def do_handshake(self):
122 self._check_header_lines()
123 self._set_resource()
124 self._set_origin()
125 self._set_location()
126 self._set_protocol()
127 self._dispatcher.do_extra_handshake(self._request)
128 self._send_handshake()
130 def _set_resource(self):
131 self._request.ws_resource = self._request.uri
133 def _set_origin(self):
134 self._request.ws_origin = self._request.headers_in['Origin']
136 def _set_location(self):
138 if self._request.is_https():
143 host, port = self._parse_host_header()
144 connection_port = self._request.connection.local_addr[1]
149 if (port != _default_port(self._request.is_https())):
152 location_parts.append(self._request.uri)
153 self._request.ws_location = ''.join(location_parts)
155 def _parse_host_header(self):
156 fields = self._request.headers_in['Host'].split(':', 1)
158 return fields[0], _default_port(self._request.is_https())
164 def _set_protocol(self):
165 protocol = self._request.headers_in.get('WebSocket-Protocol')
168 self._request.ws_protocol = protocol
170 def _send_handshake(self):
171 self._request.connection.write(
173 self._request.connection.write('Upgrade: WebSocket\r\n')
174 self._request.connection.write('Connection: Upgrade\r\n')
175 self._request.connection.write('WebSocket-Origin: ')
176 self._request.connection.write(self._request.ws_origin)
177 self._request.connection.write('\r\n')
178 self._request.connection.write('WebSocket-Location: ')
179 self._request.connection.write(self._request.ws_location)
180 self._request.connection.write('\r\n')
181 if self._request.ws_protocol:
182 self._request.connection.write('WebSocket-Protocol: ')
183 self._request.connection.write(self._request.ws_protocol)
184 self._request.connection.write('\r\n')
185 self._request.connection.write('\r\n')
187 def _check_header_lines(self):
189 actual_value = self._request.headers_in.get(key)
196 if self._strict:
198 lines = self._request.connection.get_memorized_lines()
204 self._check_first_lines(lines)
206 def _check_first_lines(self, lines):