コード例 #1
0
        private static HttpResponseMessage AddDownloadHeader(HttpRequestMessage request, HttpResponseMessage responseMessage, string filenamePrefix)
        {
            var  queryString = new QueryStringCollection(request.RequestUri);
            bool download;

            if (queryString.TryGetAndConvert <bool>("download", out download))
            {
                if (download)
                {
                    responseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                    {
                        FileName = filenamePrefix + ".json"
                    };
                }
            }
            else
            {
                return(request.CreateResponse(
                           HttpStatusCode.BadRequest,
                           new ErrorModel {
                    Message = "Value for download was specified but cannot be converted to true or false."
                },
                           new MediaTypeHeaderValue("application/json")));
            }

            return(responseMessage);
        }
コード例 #2
0
            public void ShouldReturnTrueForEmptyNullableType()
            {
                var queryStringCollection = new QueryStringCollection(
                    new Uri("http://example.com?intvalue=1&stringvalue=str&boolvalue=true&empty")
                    );

                bool?output;
                var  result = queryStringCollection.TryGetAndConvert <bool?>("empty", out output);

                Assert.True(result);
            }
コード例 #3
0
            public void ShouldOutputValueForBool()
            {
                var queryStringCollection = new QueryStringCollection(
                    new Uri("http://example.com?intvalue=1&stringvalue=str&boolvalue=true&empty")
                    );

                bool output;
                var  result = queryStringCollection.TryGetAndConvert <bool>("boolvalue", out output);

                Assert.True(result);
                Assert.Equal(true, output);
            }
コード例 #4
0
            public void ShouldOutputZeroForNonexistantInt()
            {
                var queryStringCollection = new QueryStringCollection(
                    new Uri("http://example.com?intvalue=1&stringvalue=str&boolvalue=true&empty")
                    );

                int output;
                var result = queryStringCollection.TryGetAndConvert <int>("nonexistant", out output);

                Assert.True(result);
                Assert.Equal(0, output);
            }
コード例 #5
0
            public void ShouldOutputNullForNonexistantString()
            {
                var queryStringCollection = new QueryStringCollection(
                    new Uri("http://example.com?intvalue=1&stringvalue=str&boolvalue=true&empty")
                    );

                string output;
                var    result = queryStringCollection.TryGetAndConvert <string>("stringvalue1", out output);

                Assert.True(result);
                Assert.Equal(null, output);
            }
コード例 #6
0
            public void ShouldOutputValueForInt()
            {
                var queryStringCollection = new QueryStringCollection(
                    new Uri("http://example.com?intvalue=1&stringvalue=str&boolvalue=true&empty")
                    );

                int output;
                var result = queryStringCollection.TryGetAndConvert<int>("intvalue", out output);

                Assert.True(result);
                Assert.Equal(1, output);
            }
コード例 #7
0
            public void ShouldReturnTrueForEmptyNullableType()
            {
                var queryStringCollection = new QueryStringCollection(
                    new Uri("http://example.com?intvalue=1&stringvalue=str&boolvalue=true&empty")
                    );

                bool? output;
                var result = queryStringCollection.TryGetAndConvert<bool?>("empty", out output);

                Assert.True(result);
            }
コード例 #8
0
            public void ShouldOutputNullForNonexistantString()
            {
                var queryStringCollection = new QueryStringCollection(
                    new Uri("http://example.com?intvalue=1&stringvalue=str&boolvalue=true&empty")
                    );

                string output;
                var result = queryStringCollection.TryGetAndConvert<string>("stringvalue1", out output);

                Assert.True(result);
                Assert.Equal(null, output);
            }