def METHOD_NAME(self, host, handler, request_body, verbose=0):
    # Add SCGI headers to the request.
    headers = {'CONTENT_LENGTH': str(len(request_body)), 'SCGI': '1'}
    header = '\x00'.join(('%s\x00%s' % item for item in headers.iteritems())) + '\x00'
    header = '%d:%s' % (len(header), header)
    request_body = '%s,%s' % (header, request_body)
    sock = None
    try:
        if host:
            host, port = urllib.splitport(host)
            addrinfo = socket.getaddrinfo(host, int(port), socket.AF_INET,
                                          socket.SOCK_STREAM)
            sock = socket.socket(*addrinfo[0][:3])
            sock.connect(addrinfo[0][4])
        else:
            sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
            sock.connect(handler)
        self.verbose = verbose
        sock.send(request_body)
        return self.parse_response(sock.makefile())
    finally:
        if sock:
            sock.close()