Example #1
0
        private void AddResponseHandlers(RestClientSettings settings, IBuildContext context)
        {
            if (requestHandlers != null)
            {
                foreach (var handler in responseHandlers)
                {
                    var requestHandler = handler.Instance as IRestResponseHandler;
                    if (handler.Type != null)
                    {
                        requestHandler = context.Resolve(handler.Type) as IRestResponseHandler;
                    }

                    settings.ResponseHandlers.Add(requestHandler);
                }
            }
        }
Example #2
0
        private void AddSerializers(RestClientSettings settings, IBuildContext context)
        {
            if (serializers != null)
            {
                settings.Serializers.Clear();

                foreach (var handler in serializers)
                {
                    var requestHandler = handler.Instance as IContentSerializer;
                    if (handler.Type != null)
                    {
                        requestHandler = context.Resolve(handler.Type) as IContentSerializer;
                    }

                    settings.Serializers.Add(requestHandler);
                }
            }
        }
Example #3
0
        public IRestClientSettings Build(IBuildContext context)
        {
            if (serviceBaseUri == null)
            {
                throw new InvalidOperationException("No base URI address specified.");
            }

            var settings = new RestClientSettings {
                BaseUri              = serviceBaseUri,
                MessageHandler       = messageHandler,
                Authenticator        = requestAuthenticator,
                AuthenticateRequests = authenticate ?? requestAuthenticator != null,
                DefaultFormat        = defaultFormat == ContentFormat.Default ? ContentFormat.Json : defaultFormat,
                DefaultCulture       = defaultCulture ?? CultureInfo.InvariantCulture,
                ContentTypeProvider  = contentTypeProvider ?? new DefaultContentTypeProvider(),
                ContentEncoding      = contentEncoding ?? Encoding.UTF8
            };

            AddRequestHandlers(settings, context);
            AddResponseHandlers(settings, context);
            AddSerializers(settings, context);

            return(settings);
        }