moved directory list formatting to qse_httpd_rcb_t.
added some entask variants modified qse_mbsadup()/qse_mbsxadup()/qse_wcsadup(0/qse_wcsxadup() to return length
This commit is contained in:
@ -994,11 +994,13 @@ qse_mchar_t* qse_mbsxdup2 (
|
||||
|
||||
qse_mchar_t* qse_mbsadup (
|
||||
const qse_mchar_t* str[],
|
||||
qse_size_t* len,
|
||||
qse_mmgr_t* mmgr
|
||||
);
|
||||
|
||||
qse_mchar_t* qse_mbsxadup (
|
||||
const qse_mcstr_t str[],
|
||||
qse_size_t* len,
|
||||
qse_mmgr_t* mmgr
|
||||
);
|
||||
|
||||
@ -1029,11 +1031,13 @@ qse_wchar_t* qse_wcsxdup2 (
|
||||
|
||||
qse_wchar_t* qse_wcsadup (
|
||||
const qse_wchar_t* str[],
|
||||
qse_size_t* len,
|
||||
qse_mmgr_t* mmgr
|
||||
);
|
||||
|
||||
qse_wchar_t* qse_wcsxadup (
|
||||
const qse_wcstr_t str[],
|
||||
qse_size_t* len,
|
||||
qse_mmgr_t* mmgr
|
||||
);
|
||||
|
||||
@ -1042,15 +1046,15 @@ qse_wchar_t* qse_wcsxadup (
|
||||
# define qse_strdup2(s1,s2,mmgr) qse_mbsdup2(s1,s2,mmgr)
|
||||
# define qse_strxdup(s,l,mmgr) qse_mbsxdup(s,l,mmgr)
|
||||
# define qse_strxdup2(s1,l1,s2,l2,mmgr) qse_mbsxdup(s1,l1,s2,l2,mmgr)
|
||||
# define qse_stradup(sa,mmgr) qse_mbsadup(sa,mmgr)
|
||||
# define qse_strxadup(sa,mmgr) qse_mbsxadup(sa,mmgr)
|
||||
# define qse_stradup(sa,len,mmgr) qse_mbsadup(sa,len,mmgr)
|
||||
# define qse_strxadup(sa,len,mmgr) qse_mbsxadup(sa,len,mmgr)
|
||||
#else
|
||||
# define qse_strdup(s,mmgr) qse_wcsdup(s,mmgr)
|
||||
# define qse_strdup2(s1,s2,mmgr) qse_wcsdup2(s1,s2,mmgr)
|
||||
# define qse_strxdup(s,l,mmgr) qse_wcsxdup(s,l,mmgr)
|
||||
# define qse_strxdup2(s1,l1,s2,l2,mmgr) qse_wcsxdup(s1,l1,s2,l2,mmgr)
|
||||
# define qse_stradup(sa,mmgr) qse_wcsadup(sa,mmgr)
|
||||
# define qse_strxadup(sa,mmgr) qse_wcsxadup(sa,mmgr)
|
||||
# define qse_stradup(sa,len,mmgr) qse_wcsadup(sa,len,mmgr)
|
||||
# define qse_strxadup(sa,len,mmgr) qse_wcsxadup(sa,len,mmgr)
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -163,6 +163,10 @@ int qse_comparehttpversions (
|
||||
const qse_http_version_t* v2
|
||||
);
|
||||
|
||||
const qse_mchar_t* qse_httpstatustombs (
|
||||
int code
|
||||
);
|
||||
|
||||
const qse_mchar_t* qse_httpmethodtombs (
|
||||
qse_http_method_t type
|
||||
);
|
||||
|
@ -46,6 +46,7 @@ enum qse_httpd_errnum_t
|
||||
QSE_HTTPD_EEXIST,
|
||||
QSE_HTTPD_EINTR,
|
||||
QSE_HTTPD_EAGAIN,
|
||||
QSE_HTTPD_ENOBUF,
|
||||
|
||||
QSE_HTTPD_EIOMUX,
|
||||
QSE_HTTPD_EDISCON, /* client disconnnected */
|
||||
@ -255,6 +256,14 @@ struct qse_httpd_rcb_t
|
||||
qse_httpd_t* httpd, qse_httpd_client_t* client, qse_htre_t* req);
|
||||
int (*handle_request) (
|
||||
qse_httpd_t* httpd, qse_httpd_client_t* client, qse_htre_t* req);
|
||||
|
||||
int (*format_error) (
|
||||
qse_httpd_t* httpd, qse_httpd_client_t* client,
|
||||
int code, qse_mchar_t* buf, int bufsz);
|
||||
int (*format_dir) (
|
||||
qse_httpd_t* httpd, qse_httpd_client_t* client,
|
||||
const qse_mchar_t* qpath, const qse_httpd_dirent_t* dirent,
|
||||
qse_mchar_t* buf, int bufsz);
|
||||
};
|
||||
|
||||
typedef struct qse_httpd_task_t qse_httpd_task_t;
|
||||
@ -358,6 +367,7 @@ enum qse_httpd_rsrc_type_t
|
||||
QSE_HTTPD_RSRC_FILE,
|
||||
QSE_HTTPD_RSRC_PROXY,
|
||||
QSE_HTTPD_RSRC_RELOC,
|
||||
QSE_HTTPD_RSRC_REDIR,
|
||||
QSE_HTTPD_RSRC_TEXT
|
||||
};
|
||||
typedef enum qse_httpd_rsrc_type_t qse_httpd_rsrc_type_t;
|
||||
@ -384,7 +394,6 @@ struct qse_httpd_rsrc_t
|
||||
struct
|
||||
{
|
||||
const qse_mchar_t* path;
|
||||
const qse_mchar_t* css;
|
||||
} dir;
|
||||
|
||||
struct
|
||||
@ -403,11 +412,17 @@ struct qse_httpd_rsrc_t
|
||||
qse_nwad_t dst;
|
||||
qse_nwad_t src;
|
||||
} proxy;
|
||||
|
||||
struct
|
||||
{
|
||||
const qse_mchar_t* dst;
|
||||
} reloc;
|
||||
|
||||
struct
|
||||
{
|
||||
const qse_mchar_t* dst;
|
||||
} redir;
|
||||
|
||||
struct
|
||||
{
|
||||
const qse_mchar_t* ptr;
|
||||
@ -488,7 +503,7 @@ enum qse_httpd_server_xtn_cfg_idx_t
|
||||
|
||||
struct qse_httpd_server_xtn_t
|
||||
{
|
||||
qse_mxstr_t cfg[QSE_HTTPD_SERVER_XTN_CFG_MAX];
|
||||
qse_mchar_t* cfg[QSE_HTTPD_SERVER_XTN_CFG_MAX];
|
||||
qse_httpd_server_cbstd_t* cbstd;
|
||||
qse_httpd_server_cgistd_t* cgistd;
|
||||
qse_httpd_server_mimestd_t* mimestd;
|
||||
@ -699,12 +714,27 @@ qse_httpd_task_t* qse_httpd_entaskreloc (
|
||||
qse_htre_t* req
|
||||
);
|
||||
|
||||
qse_httpd_task_t* qse_httpd_entaskredir (
|
||||
qse_httpd_t* httpd,
|
||||
qse_httpd_client_t* client,
|
||||
qse_httpd_task_t* pred,
|
||||
const qse_mchar_t* dst,
|
||||
qse_htre_t* req
|
||||
);
|
||||
|
||||
|
||||
qse_httpd_task_t* qse_httpd_entasknomod (
|
||||
qse_httpd_t* httpd,
|
||||
qse_httpd_client_t* client,
|
||||
qse_httpd_task_t* pred,
|
||||
qse_htre_t* req
|
||||
);
|
||||
|
||||
qse_httpd_task_t* qse_httpd_entaskdir (
|
||||
qse_httpd_t* httpd,
|
||||
qse_httpd_client_t* client,
|
||||
qse_httpd_task_t* pred,
|
||||
const qse_mchar_t* name,
|
||||
const qse_mchar_t* css,
|
||||
qse_htre_t* req
|
||||
);
|
||||
|
||||
|
Reference in New Issue
Block a user