From cface45b7cfd084f65ead1d5bfa6ecdc639d7017 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Wed, 2 Dec 2020 07:26:33 +0200 Subject: Added MimeHooks This is a very powerful mechanism: translate the contents of any request to something else when the original MIME type matches a configured regexp. The external hook command may still elect not to process the request. --- src/mimehooks.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/mimehooks.h (limited to 'src/mimehooks.h') diff --git a/src/mimehooks.h b/src/mimehooks.h new file mode 100644 index 00000000..c78a3c86 --- /dev/null +++ b/src/mimehooks.h @@ -0,0 +1,31 @@ +#pragma once + +#include +#include +#include +#include + +iDeclareType(FilterHook) +iDeclareTypeConstruction(FilterHook) + +struct Impl_FilterHook { + iString label; + iString mimePattern; + iRegExp *mimeRegex; + iString command; +}; + +void setMimePattern_FilterHook (iFilterHook *, const iString *pattern); +void setCommand_FilterHook (iFilterHook *, const iString *command); + +/*----------------------------------------------------------------------------------------------*/ + +iDeclareType(MimeHooks) +iDeclareTypeConstruction(MimeHooks) + +iBool willTryFilter_MimeHooks (const iMimeHooks *, const iString *mime); +iBlock * tryFilter_MimeHooks (const iMimeHooks *, const iString *mime, + const iBlock *body); + +void load_MimeHooks (iMimeHooks *, const char *saveDir); +void save_MimeHooks (const iMimeHooks *); -- cgit v1.2.3