[params] Allow for arbitrary HTTP request headers to be specified

Extend the request parameter mechanism to allow for arbitrary HTTP
headers to be specified via e.g.:

  params
  param --header Referer http://www.example.com
  imgfetch http://192.168.0.1/script.ipxe##params

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2023-02-28 17:46:13 +00:00
parent 33cb56cf1b
commit 96bb6ba441
5 changed files with 73 additions and 15 deletions

View File

@@ -32,8 +32,16 @@ struct parameter {
const char *key;
/** Value */
const char *value;
/** Flags */
unsigned int flags;
};
/** Request parameter is a form parameter */
#define PARAMETER_FORM 0x0001
/** Request parameter is a header parameter */
#define PARAMETER_HEADER 0x0002
/**
* Increment request parameter list reference count
*
@@ -78,6 +86,7 @@ claim_parameters ( struct parameters *params ) {
extern struct parameters * find_parameters ( const char *name );
extern struct parameters * create_parameters ( const char *name );
extern struct parameter * add_parameter ( struct parameters *params,
const char *key, const char *value );
const char *key, const char *value,
unsigned int flags );
#endif /* _IPXE_PARAMS_H */