using System;
using System.Collections.Generic;
namespace RestEase
{
///
/// Helper which knows how to serialize query parmaeters
///
[Obsolete("Use RequestQueryParamSerializer instead")]
public interface IRequestQueryParamSerializer
{
///
/// Serialize a query parameter whose value is scalar (not a collection), into a collection of name -> value pairs
///
///
/// Most of the time, you will only return a single KeyValuePair from this method. However, you are given the flexibility,
/// to return multiple KeyValuePairs if you wish. Duplicate keys are allowed: they will be serialized as separate query parameters.
///
/// Type of the value to serialize
/// Name of the query parameter
/// Value of the query parameter
/// Extra info which may be useful to the serializer
/// A colletion of name -> value pairs to use as query parameters
IEnumerable> SerializeQueryParam(string name, T value, RequestQueryParamSerializerInfo info);
///
/// Serialize a query parameter whose value is a collection, into a collection of name -> value pairs
///
///
/// Most of the time, you will return a single KeyValuePair for each value in the collection, and all will have
/// the same key. However this is not required: you can return whatever you want.
///
/// Type of the value to serialize
/// Name of the query parameter
/// Values of the query parmaeter
/// Extra info which may be useful to the serializer
/// A colletion of name -> value pairs to use as query parameters
IEnumerable> SerializeQueryCollectionParam(string name, IEnumerable values, RequestQueryParamSerializerInfo info);
}
}