コード例 #1
0
ファイル: Request.py プロジェクト: yay-couch/couch-py
   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))
コード例 #2
0
    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))
コード例 #3
0
    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
コード例 #4
0
ファイル: Request.py プロジェクト: yay-couch/couch-py
   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