Example #1
0
    def test_generate(self):
        ack = amf3.generate_acknowledgement()

        self.assertTrue(isinstance(ack, messaging.AcknowledgeMessage))
        self.assertTrue(ack.messageId is not None)
        self.assertTrue(ack.clientId is not None)
        self.assertTrue(ack.timestamp is not None)
Example #2
0
    def test_generate(self):
        ack = amf3.generate_acknowledgement()

        self.assertTrue(isinstance(ack, messaging.AcknowledgeMessage))
        self.assertTrue(ack.messageId is not None)
        self.assertTrue(ack.clientId is not None)
        self.assertTrue(ack.timestamp is not None)
Example #3
0
    def _processRemotingMessage(self, amf_request, ro_request, **kwargs):
        ro_response = amf3.generate_acknowledgement(ro_request)
        amf_response = remoting.Response(ro_response, status=remoting.STATUS_OK)

        try:
            service_request = self.gateway.getServiceRequest(amf_request, ro_request.operation)
        except gateway.UnknownServiceError, e:
            return defer.succeed(remoting.Response(self.buildErrorResponse(ro_request), status=remoting.STATUS_ERROR))
Example #4
0
    def test_request(self):
        ack = amf3.generate_acknowledgement(pyamf.ASObject(messageId='123123'))

        self.assertTrue(isinstance(ack, messaging.AcknowledgeMessage))
        self.assertTrue(ack.messageId is not None)
        self.assertTrue(ack.clientId is not None)
        self.assertTrue(ack.timestamp is not None)

        self.assertEqual(ack.correlationId, '123123')
Example #5
0
    def test_request(self):
        ack = amf3.generate_acknowledgement(pyamf.ASObject(messageId='123123'))

        self.assertTrue(isinstance(ack, messaging.AcknowledgeMessage))
        self.assertTrue(ack.messageId is not None)
        self.assertTrue(ack.clientId is not None)
        self.assertTrue(ack.timestamp is not None)

        self.assertEquals(ack.correlationId, '123123')
Example #6
0
    def _processRemotingMessage(self, amf_request, ro_request, **kwargs):
        ro_response = amf3.generate_acknowledgement(ro_request)

        try:
            service_name = ro_request.operation

            if hasattr(ro_request, 'destination') and ro_request.destination:
                service_name = '%s.%s' % (ro_request.destination, service_name)

            service_request = self.gateway.getServiceRequest(amf_request,
                                                             service_name)
        except gateway.UnknownServiceError:
            return defer.succeed(remoting.Response(
                self.buildErrorResponse(ro_request),
                status=remoting.STATUS_ERROR))

        deferred_response = defer.Deferred()

        def eb(failure):
            errMesg = "%s: %s" % (failure.type, failure.getErrorMessage())

            if self.gateway.logger:
                self.gateway.logger.error(errMesg)
                self.gateway.logger.error(failure.getTraceback())

            ro_response = self.buildErrorResponse(ro_request, (failure.type,
                                                  failure.value, failure.tb))
            deferred_response.callback(
                remoting.Response(ro_response, status=remoting.STATUS_ERROR)
            )

        def response_cb(result):
            ro_response.body = result
            res = remoting.Response(ro_response)

            deferred_response.callback(res)

        def process_cb(result):
            d = defer.maybeDeferred(
                self.gateway.callServiceRequest,
                service_request,
                *ro_request.body,
                **kwargs
            )
            d.addCallback(response_cb).addErrback(eb)

        d = defer.maybeDeferred(
            self.gateway.preprocessRequest,
            service_request,
            *ro_request.body,
            **kwargs
        )
        d.addCallback(process_cb).addErrback(eb)

        return deferred_response
Example #7
0
    def _processRemotingMessage(self, amf_request, ro_request, **kwargs):
        ro_response = amf3.generate_acknowledgement(ro_request)

        try:
            service_name = ro_request.operation

            if hasattr(ro_request, 'destination') and ro_request.destination:
                service_name = '%s.%s' % (ro_request.destination, service_name)

            service_request = self.gateway.getServiceRequest(amf_request,
                                                             service_name)
        except gateway.UnknownServiceError:
            return defer.succeed(remoting.Response(
                self.buildErrorResponse(ro_request),
                status=remoting.STATUS_ERROR))

        deferred_response = defer.Deferred()

        def eb(failure):
            errMesg = "%s: %s" % (failure.type, failure.getErrorMessage())

            if self.gateway.logger:
                self.gateway.logger.error(errMesg)
                self.gateway.logger.error(failure.getTraceback())

            ro_response = self.buildErrorResponse(ro_request, (failure.type,
                                                  failure.value, failure.tb))
            deferred_response.callback(
                remoting.Response(ro_response, status=remoting.STATUS_ERROR)
            )

        def response_cb(result):
            ro_response.body = result
            res = remoting.Response(ro_response)

            deferred_response.callback(res)

        def process_cb(result):
            d = defer.maybeDeferred(
                self.gateway.callServiceRequest,
                service_request,
                *ro_request.body,
                **kwargs
            )
            d.addCallback(response_cb).addErrback(eb)

        d = defer.maybeDeferred(
            self.gateway.preprocessRequest,
            service_request,
            *ro_request.body,
            **kwargs
        )
        d.addCallback(process_cb).addErrback(eb)

        return deferred_response
Example #8
0
    def _processRemotingMessage(self, amf_request, ro_request, **kwargs):
        ro_response = amf3.generate_acknowledgement(ro_request)
        amf_response = remoting.Response(ro_response, status=remoting.STATUS_OK)

        try:
            service_name = ro_request.operation

            if hasattr(ro_request, 'destination') and ro_request.destination:
                service_name = '%s.%s' % (ro_request.destination, service_name)

            service_request = self.gateway.getServiceRequest(amf_request, service_name)
        except gateway.UnknownServiceError, e:
            return defer.succeed(remoting.Response(self.buildErrorResponse(ro_request), status=remoting.STATUS_ERROR))