def toString(self): """ String wrap. @return (str) """ url = util.urlParse(self.uri) return super(Request, self).toString( "%s %s?%s HTTP/%s\r\n" % (self.method, url.path, url.query, self.httpVersion))
def send(self, body=None): """ Send. @param (str) method @return (str) """ url = util.urlParse(self.uri) sock, err = None, None send, recv = "", "" send += "%s %s?%s HTTP/%s\r\n" % (self.method, url.path, url.query, self.httpVersion) for key, value in self.headers.items(): if value != None: send += "%s: %s\r\n" % (key, value) send += "\r\n" send += self.getBody() or "" try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((self.client.host, self.client.port)) try: sock.sendall(send) except: sock.sendall(bytes(send, "utf8")) while True: buff = sock.recv(1024) if not buff: # eof break recv += str(buff, "utf8") except Exception as e: err = e finally: if sock: sock.close() # dump whole http messages (request/response) if self.client.couch.DEBUG == True: print(send) print(recv) if err: raise err return recv
def send(self, body = None): """ Send. @param (str) method @return (str) """ url = util.urlParse(self.uri) sock, err = None, None send, recv = "", "" send += "%s %s?%s HTTP/%s\r\n" % (self.method, url.path, url.query, self.httpVersion) for key, value in self.headers.items(): if value != None: send += "%s: %s\r\n" % (key, value) send += "\r\n" send += self.getBody() or "" try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((self.client.host, self.client.port)) sock.sendall(send) while True: buff = sock.recv(1024) if not buff: # eof break recv += buff except Exception as e: err = e finally: if sock: sock.close() # dump whole http messages (request/response) if self.client.couch.DEBUG == True: print send print recv if err: raise err return recv