Method Management

/*
**	(c) COPYRIGHT MIT 1995.
**	Please first read the full copyright statement in the file COPYRIGH.
*/
This module keeps a list of valid methods to be used on a request obejct. It used to be in HTAccess module but for future extensions, it is now in its own module.

This module is implemented by HTmethod.c, and it is a part of the W3C Reference Library.

#ifndef HTMETHOD_H
#define HTMETHOD_H

These are the valid methods, see HTTP Methods.

NOTE: the anchor list of allowed methods is now a bitflag, not at list.

typedef enum {
    METHOD_INVALID	= 0x0,
    METHOD_GET		= 0x1,
    METHOD_HEAD		= 0x2,    
    METHOD_POST		= 0x4,    
    METHOD_PUT		= 0x8,    
    METHOD_DELETE	= 0x10,
    METHOD_LINK		= 0x20,
    METHOD_UNLINK	= 0x40
} HTMethod;

Get Method Enumeration

Gives the enumeration value of the method as a function of the (char *) name.
extern HTMethod HTMethod_enum (CONST char * name);

Get Method String

The reverse of HTMethod_enum()
extern CONST char * HTMethod_name (HTMethod method);

Is Method "Safe"

If a method a safe, it doesn't produce any side effects on the server
#define HTMethod_isSafe(me)	((me) & (METHOD_GET|METHOD_HEAD))

Does a Method include Entity

Does a method include an entity to be sent from the client to the server?
#define HTMethod_hasEntity(me)	((me) & (METHOD_PUT | METHOD_POST))
#endif /* HTMETHOD_H */
End of Declaration module