Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Fix ETags support for when compiling with FOSSIL_ENABLE_TH1_HOOKS. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | etags |
| Files: | files | file ages | folders |
| SHA3-256: |
43a66b58db29aab0ce5a6e3beb27c761 |
| User & Date: | drh 2018-02-24 17:08:45.341 |
Context
|
2018-02-24
| ||
| 18:39 | Further changes trying to get ETags to work well. But as I type this, I feel like this design is not working out well and I am about ready to start over from scratch. This check-in is just to preserve work in case I want to come back to it later. ... (Closed-Leaf check-in: 02740c2c47 user: drh tags: etags) | |
| 17:08 | Fix ETags support for when compiling with FOSSIL_ENABLE_TH1_HOOKS. ... (check-in: 43a66b58db user: drh tags: etags) | |
| 03:49 | Add support for the ETag: and If-None-Match: headers for improved cache control. Currently this only works for /uv but the mechanism is reasonably general and can be extended to other pages. ... (check-in: 787896c5eb user: drh tags: etags) | |
Changes
Changes to src/dispatch.c.
| ︙ | ︙ | |||
36 37 38 39 40 41 42 | unsigned int eCmdFlags; /* Flags */ }; /*************************************************************************** ** These macros must match similar macros in mkindex.c ** Allowed values for CmdOrPage.eCmdFlags. */ | | | | | | | | | | > > > > > > > | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | unsigned int eCmdFlags; /* Flags */ }; /*************************************************************************** ** These macros must match similar macros in mkindex.c ** Allowed values for CmdOrPage.eCmdFlags. */ #define CMDFLAG_1ST_TIER 0x00001 /* Most important commands */ #define CMDFLAG_2ND_TIER 0x00002 /* Obscure and seldom used commands */ #define CMDFLAG_TEST 0x00004 /* Commands for testing only */ #define CMDFLAG_WEBPAGE 0x00008 /* Web pages */ #define CMDFLAG_COMMAND 0x00010 /* A command */ #define CMDFLAG_SETTING 0x00020 /* A setting */ #define CMDFLAG_VERSIONABLE 0x00040 /* A versionable setting */ #define CMDFLAG_BLOCKTEXT 0x00080 /* Multi-line text setting */ #define CMDFLAG_BOOLEAN 0x00100 /* A boolean setting */ #define CMDFLAG_CONST 0x00000 /* ETAG_CONST */ #define CMDFLAG_CONFIG 0x01000 /* ETAG_CONFIG */ #define CMDFLAG_DATA 0x02000 /* ETAG_DATA */ #define CMDFLAG_COOKIE 0x04000 /* ETAG_COOKIE */ #define CMDFLAG_DYNAMIC 0x10000 /* ETAG_DYNAMIC - on by default */ #define CMDFLAG_ETAG 0x1f000 /* Mask of all ETAG entries */ #define CMDFLAG_TO_ETAG(X) ((X)>>12) /**************************************************************************/ /* Values for the 2nd parameter to dispatch_name_search() */ #define CMDFLAG_ANY 0x00038 /* Match anything */ #define CMDFLAG_PREFIX 0x00200 /* Prefix match is ok */ #endif /* INTERFACE */ /* ** The page_index.h file contains the definition for aCommand[] - an array ** of CmdOrPage objects that defines all available commands and webpages ** known to Fossil. |
| ︙ | ︙ |
Changes to src/main.c.
| ︙ | ︙ | |||
1763 1764 1765 1766 1767 1768 1769 |
*/
int rc;
if( !g.fNoThHook ){
rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
}else{
rc = TH_OK;
}
| < > | 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 |
*/
int rc;
if( !g.fNoThHook ){
rc = Th_WebpageHook(pCmd->zName+1, pCmd->eCmdFlags);
}else{
rc = TH_OK;
}
if( rc==TH_OK || rc==TH_RETURN || rc==TH_CONTINUE ){
if( rc==TH_OK || rc==TH_RETURN ){
#endif
etag_require(CMDFLAG_TO_ETAG(pCmd->eCmdFlags));
pCmd->xFunc();
#ifdef FOSSIL_ENABLE_TH1_HOOKS
}
if( !g.fNoThHook && (rc==TH_OK || rc==TH_CONTINUE) ){
Th_WebpageNotify(pCmd->zName+1, pCmd->eCmdFlags);
}
}
|
| ︙ | ︙ |