def send_request()

in mssqlscripter/jsonrpc/jsonrpcclient.py [0:0]


    def send_request(self, method, params, id=None):
        """
        Send JSON RPC request message.
        Exceptions raised:
            ValueError
                If the stream was closed externally.
        """
        # Perhaps move to a different def to add some validation
        content_body = {
            u'jsonrpc': u'2.0',
            u'method': method,
            u'params': params,
            u'id': id
        }

        json_content = json.dumps(content_body, sort_keys=True)
        header = self.HEADER.format(str(len(json_content)))
        try:
            self.stream.write(header.encode(u'ascii'))
            self.stream.write(json_content.encode(self.encoding))
            self.stream.flush()

        except ValueError as ex:
            logger.debug(u'Send Request encountered exception {}'.format(ex))
            raise