/// <summary> /// Initializes a new instance of the <see cref="T:GetApiResult{T}"/> class. /// </summary> /// <param name="requestFactory">A factory for HTTP requests.</param> /// <param name="responseReader">An HTTP response reader.</param> /// <param name="endpoint">The endpoint.</param> /// <param name="responseVerifier">An optional response verifier.</param> /// <param name="payload">An optional request payload.</param> /// <param name="timeout">An optional timeout.</param> public GetApiResult(ICreatesHttpRequests requestFactory, IReadsResponseBodies responseReader, IEndpoint endpoint, IVerifiesSuccessfulResponse responseVerifier = null, object payload = null, TimeSpan?timeout = null) { if (responseReader == null) { throw new ArgumentNullException(nameof(responseReader)); } if (requestFactory == null) { throw new ArgumentNullException(nameof(requestFactory)); } if (endpoint == null) { throw new ArgumentNullException(nameof(endpoint)); } this.requestFactory = requestFactory; this.responseReader = responseReader; this.responseVerifier = responseVerifier ?? new HttpResponseSuccessVerifier(); this.endpoint = endpoint; this.payload = payload; this.timeout = timeout; }
/// <summary> /// Initializes a new instance of the <see cref="T:CSF.Screenplay.WebApis.Services.JsonHttpRequestFactoryProxy"/> class. /// </summary> /// <param name="requestBodyFactory">Request body factory.</param> /// <param name="proxiedFactory">The proxied request factory.</param> public JsonHttpRequestFactory(ICreatesRequestBodies requestBodyFactory = null, ICreatesHttpRequests proxiedFactory = null) { this.requestBodyFactory = requestBodyFactory ?? new JsonHttpContentReaderWriter(); this.proxiedFactory = proxiedFactory ?? new HttpRequestFactory(); }