123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
|
/*******************************************************************************
copyright: Copyright (c) 2004 Kris Bell. All rights reserved
license: BSD style: $(LICENSE)
version: Initial release: April 2004
author: Kris
*******************************************************************************/
module tango.net.http.model.HttpParamsView;
private import tango.time.Time;
/******************************************************************************
Maintains a set of query parameters, parsed from an HTTP request.
Use HttpParams instead for output parameters.
Note that these input params may have been encoded by the user-
agent. Unfortunately there has been little consensus on what that
encoding should be (especially regarding GET query-params). With
luck, that will change to a consistent usage of UTF-8 within the
near future.
******************************************************************************/
interface HttpParamsView
{
/**********************************************************************
Return the number of headers
**********************************************************************/
uint size ();
/**********************************************************************
Return the value of the provided header, or null if the
header does not exist
**********************************************************************/
const(char)[] get (const(char)[] name, const(char)[] ret = null);
/**********************************************************************
Return the integer value of the provided header, or the
provided default-value if the header does not exist
**********************************************************************/
int getInt (const(char)[] name, int ret = -1);
/**********************************************************************
Return the date value of the provided header, or the
provided default-value if the header does not exist
**********************************************************************/
Time getDate (const(char)[] name, Time ret = Time.epoch);
/**********************************************************************
Output the param list to the provided consumer
**********************************************************************/
void produce (scope size_t delegate(const(void)[]) consume, const(char)[] eol=null);
}
|