private async Task <IAuthenticationResult> BuildAuthenticationResult(IHttpResponseMessageReader reader)
        {
            var session = new Session
            {
                ActiveAccountToken = reader.ReadHeaderValue(Constants.ActiveAccountSessionTokenHeaderName),
                ClientToken        = reader.ReadHeaderValue(Constants.ClientSessionTokenHeaderName)
            };
            var userAccount = await reader.ReadContent <UserAccount>();

            return(new AuthenticationResult
            {
                Session = session,
                UserAccount = userAccount
            });
        }
 public JsonWebApiProxy(HttpClient client, string routePrefix, IHttpResponseMessageReader messageReader, JsonSerializerSettings serializerSettings)
     : base(client, routePrefix, new JsonHttpResponseMessageParser(messageReader), new JsonHttpContentConverter(serializerSettings))
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="JsonHttpResponseMessageParser"/> class.
 /// </summary>
 /// <param name="reader">
 /// The reader which consumes the <see cref="HttpResponseMessage"/> and returns
 /// the content body as string data
 /// </param>
 public JsonHttpResponseMessageParser(IHttpResponseMessageReader reader)
 {
     this.MessageReader = reader ?? throw new ArgumentNullException(nameof(reader));
 }