[uri] Allow URIs to incorporate a parameter list

HTTP POST requires the ability to associate a parameter list with a
URI.  There is no standardised syntax for this.  Use a non-standard
URI syntax to incorporate the specification of a parameter list within
a URI:

  URI = [ absoluteURI | relativeURI ]
	[ "#" fragment ] [ "##params" [ "=" paramsName ] ]

e.g.

  http://boot.ipxe.org/demo/boot.php##params
  http://boot.ipxe.org/demo/boot.php##params=mylist

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2013-08-14 15:07:52 +01:00
parent 430c3fb900
commit e52380fa3b
2 changed files with 34 additions and 1 deletions

View File

@@ -13,6 +13,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <stdlib.h>
#include <ipxe/refcnt.h>
struct parameters;
/** A Uniform Resource Identifier
*
* Terminology for this data structure is as per uri(7), except that
@@ -65,6 +67,8 @@ struct uri {
const char *query;
/** Fragment */
const char *fragment;
/** Form parameters */
struct parameters *params;
} __attribute__ (( packed ));
/** A field in a URI