AdjustTest.Pcl.MockHttpMessageHandler.SendAsync C# (CSharp) Method

SendAsync() protected method

protected SendAsync ( HttpRequestMessage request, System cancellationToken ) : Task
request System.Net.Http.HttpRequestMessage
cancellationToken System
return Task
        protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
        {
            MockLogger.Test("{0} SendAsync, responseType: {1}", prefix, ResponseType);

            HttpRequestMessage = request;

            switch (ResponseType)
            {
                case ResponseType.CLIENT_PROTOCOL_EXCEPTION:
                    throw new WebException("testResponseError");
                case ResponseType.WRONG_JSON:
                    return GetOkResponse("not a json response");
                case ResponseType.EMPTY_JSON:
                    return GetOkResponse("{ }");
                case ResponseType.INTERNAL_SERVER_ERROR:
                    return GetMockResponse("{ \"message\": \"testResponseError\"}", HttpStatusCode.InternalServerError);
                case ResponseType.MESSAGE:
                    return GetOkResponse("{ \"message\": \"response OK\"}");
                case ResponseType.ATTRIBUTION:
                    //return GetOkResponse("{ \"attribution\" : {\"nothing\" : \"somevalue\"}}");
                    return GetOkResponse("{ \"attribution\" : {" +
                            "\"tracker_token\" : \"ttValue\" , " +
                            "\"tracker_name\"  : \"tnValue\" , " +
                            "\"network\"       : \"nValue\" , " +
                            "\"campaign\"      : \"cpValue\" , " +
                            "\"adgroup\"       : \"aValue\" , " +
                            "\"creative\"      : \"ctValue\" , " +
                            "\"click_label\"   : \"clValue\" } }");
                case ResponseType.ASK_IN:
                    return GetOkResponse("{ \"ask_in\" : 4000 }");
            }

            return null;
        }