private object CraeteRequestFromUrl(Type targetType) { UriTemplateMatch templateMatch = _webOperationContext.IncomingRequest.UriTemplateMatch; NameValueCollection queryParams = templateMatch.QueryParameters; return(UrlSerializer.FromQueryParams(queryParams).GetRequestValue(targetType)); }
internal RequestMetadata FromRestMessage(Message message) { UriTemplateMatch templateMatch = WebOperationContext.Current.IncomingRequest.UriTemplateMatch; NameValueCollection queryParams = templateMatch.QueryParameters; string typeName = UrlSerializer.FromQueryParams(queryParams).GetTypeValue(); Type targetType = GetRequestType(typeName); return(RequestMetadata.FromRestMessage(message, targetType)); }
public void FromQueryParams_QueryParams_Ok() { const string TypeValue = "GetClientRequest"; string query = string.Format("?type={0}&id=4DA2F891-953F-4637-AE83-6791688EAFA2&country=NL", TypeValue); NameValueCollection queryParams = HttpUtility.ParseQueryString(query); IUrlSerializer urlSerializer = UrlSerializer.FromQueryParams(queryParams); string actualType = urlSerializer.GetTypeValue(); Assert.Equal(TypeValue, actualType); Assert.Equal(queryParams.Count, urlSerializer.QueryParams.Count); }
public void FromQueryParams_NullQueryParams_ThrowException() { Assert.Throws(typeof(ArgumentNullException), () => UrlSerializer.FromQueryParams(null)); }