Esempio n. 1
0
    def __call__(self, *args, **kwargs):
        if self.oneway:
            raise OneWayNotSupportedError(
                'TChannel+Thrift does not currently support oneway '
                'procedures.'
            )

        if not (
            self.service._module.hostport or
            self.service._module.service
        ):
            raise ValueError(
                "No 'service' or 'hostport' provided to " +
                str(self)
            )

        module = self.service._module
        call_args = self._request_cls(*args, **kwargs)

        return ThriftRWRequest(
            module=module,
            service=module.service,
            endpoint=self.endpoint,
            result_type=self._response_cls,
            call_args=call_args,
            hostport=module.hostport,
        )
Esempio n. 2
0
    def _make_request(self, method_name, args, kwargs):

        result_type = self._get_result_type(method_name)

        if result_type is None:
            raise OneWayNotSupportedError(
                'TChannel+Thrift does not currently support oneway procedues')

        endpoint = self._get_endpoint(method_name)
        call_args = self._get_call_args(method_name, args, kwargs)

        request = ThriftRequest(service=self.service,
                                endpoint=endpoint,
                                result_type=result_type,
                                call_args=call_args,
                                hostport=self.hostport)

        return request
 def not_supported(self, *args, **kwags):
     raise OneWayNotSupportedError(
         'TChannel+Thrift does not currently support oneway procedues'
     )