Exemplo n.º 1
0
        internal static BardHttpClient CreateRequestLoggingClient(HttpClient client, LogWriter logWriter,
                                                                  IBadRequestProvider badRequestProvider, EventAggregator eventAggregator)
        {
            var httpMessageHandler = GetInstanceField(client);

            if (httpMessageHandler == null)
            {
                throw new BardException("Cannot find client handler");
            }

            var grpcMessageHandler          = new GrpcMessageHandler(httpMessageHandler);
            var requestLoggerMessageHandler = new RequestLoggerMessageHandler(logWriter, grpcMessageHandler);
            var bardResponsePublisher       = new BardResponsePublisher(requestLoggerMessageHandler);

            var bardHttpClient = CloneHttpClient(client, logWriter, badRequestProvider, eventAggregator, bardResponsePublisher);

            return(bardHttpClient);
        }
Exemplo n.º 2
0
        internal static HttpClient CreateGrpcClient(HttpClient client)
        {
            var httpMessageHandler = GetInstanceField(client);

            if (httpMessageHandler == null)
            {
                throw new BardException("Cannot find client handler");
            }

            var grpcMessageHandler = new GrpcMessageHandler(httpMessageHandler);

            var gRpcHttpClient = new HttpClient(grpcMessageHandler)
            {
                BaseAddress = client.BaseAddress,
                Timeout     = client.Timeout,
                MaxResponseContentBufferSize = client.MaxResponseContentBufferSize
            };

            return(gRpcHttpClient);
        }