def _build_request(self): # FIXME: URL encoding for the request path # FIXME: params, query and fragments are discarded request_line = b'%s %s %s' % (self.REQUEST_METHOD, self.parsed_url.path, self.HTTP_VERSION) # FIXME: should we send some more headers ? headers_lines = helpers.build_http_headers({b'Host': self.parsed_url.hostname}, b'') # FIXME: should we send a body ? return b'\r\n'.join([request_line, headers_lines, b''])
def _build_request(self): # FIXME: URL encoding for the request path # FIXME: params, query and fragments are discarded request_line = b'%s %s %s' % (self.REQUEST_METHOD, self.parsed_url.path, self.HTTP_VERSION) # FIXME: should we send some more headers ? headers_lines = helpers.build_http_headers( {b'Host': self.parsed_url.hostname}, b'') # FIXME: should we send a body ? return b'\r\n'.join([request_line, headers_lines, b''])
def _build_request(self): # FIXME: URL encoding for the request path selector = self.parsed_url.path or b'/' if self.parsed_url.params: selector = b';'.join([selector, self.parsed_url.params]) if self.parsed_url.query: selector = b'?'.join([selector, self.parsed_url.query]) request_line = b'%s %s %s' % (self.REQUEST_METHOD, selector, self.HTTP_VERSION) # FIXME: should we send some more headers ? headers_lines = helpers.build_http_headers({ b'Host': self.parsed_url.hostname, b'icy-metadata': b'1', }, b'') # FIXME: should we send a body ? return bytes(b'\r\n'.join([request_line, headers_lines, b'']))
def _build_request(self) -> bytes: # FIXME: URL encoding for the request path selector = self.parsed_url.path or "/" if self.parsed_url.params: selector = ";".join([selector, self.parsed_url.params]) if self.parsed_url.query: selector = "?".join([selector, self.parsed_url.query]) print(type(self.REQUEST_METHOD), type(selector), type(self.HTTP_VERSION)) request_line = b"%s %s %s" % ( self.REQUEST_METHOD, bytes(selector, "ascii"), self.HTTP_VERSION) # FIXME: should we send some more headers ? headers_lines = helpers.build_http_headers( { b"Host": bytes(self.host_address, "ascii"), b"icy-metadata": b"1", }, b"", ) # FIXME: should we send a body ? return b"\r\n".join([request_line, headers_lines, b""])