Fossil SCM
Fix caching for bundled access to /builtin. Add a missing semicolon to the end of graph.js.
Commit
139db4c54e0b42d72dce66e391fa5b421e60d0e343c36ea4734260c77334f769
Parent
036a9d5c586b58d…
2 files changed
+8
+1
-1
+8
| --- src/builtin.c | ||
| +++ src/builtin.c | ||
| @@ -144,10 +144,11 @@ | ||
| 144 | 144 | cgi_set_content_type(zType); |
| 145 | 145 | pOut = cgi_output_blob(); |
| 146 | 146 | while( zList[0] ){ |
| 147 | 147 | int i = atoi(zList); |
| 148 | 148 | if( i>0 && i<=count(aBuiltinFiles) ){ |
| 149 | + blob_appendf(pOut, "/* %s */\n", aBuiltinFiles[i-1].zName); | |
| 149 | 150 | blob_append(pOut, (const char*)aBuiltinFiles[i-1].pData, |
| 150 | 151 | aBuiltinFiles[i-1].nByte); |
| 151 | 152 | } |
| 152 | 153 | while( fossil_isdigit(zList[0]) ) zList++; |
| 153 | 154 | if( zList[0]==',' ) zList++; |
| @@ -185,10 +186,17 @@ | ||
| 185 | 186 | int nId; |
| 186 | 187 | if( zName ) zTxt = builtin_text(zName); |
| 187 | 188 | if( zTxt==0 ){ |
| 188 | 189 | const char *zM = P("m"); |
| 189 | 190 | if( zM ){ |
| 191 | + if( zId && (nId = (int)strlen(zId))>=8 | |
| 192 | + && strncmp(zId,fossil_exe_id(),nId)==0 | |
| 193 | + ){ | |
| 194 | + g.isConst = 1; | |
| 195 | + }else{ | |
| 196 | + etag_check(0,0); | |
| 197 | + } | |
| 190 | 198 | builtin_deliver_multiple_js_files(zM, zType); |
| 191 | 199 | return; |
| 192 | 200 | } |
| 193 | 201 | cgi_set_status(404, "Not Found"); |
| 194 | 202 | @ File "%h(zName)" not found |
| 195 | 203 |
| --- src/builtin.c | |
| +++ src/builtin.c | |
| @@ -144,10 +144,11 @@ | |
| 144 | cgi_set_content_type(zType); |
| 145 | pOut = cgi_output_blob(); |
| 146 | while( zList[0] ){ |
| 147 | int i = atoi(zList); |
| 148 | if( i>0 && i<=count(aBuiltinFiles) ){ |
| 149 | blob_append(pOut, (const char*)aBuiltinFiles[i-1].pData, |
| 150 | aBuiltinFiles[i-1].nByte); |
| 151 | } |
| 152 | while( fossil_isdigit(zList[0]) ) zList++; |
| 153 | if( zList[0]==',' ) zList++; |
| @@ -185,10 +186,17 @@ | |
| 185 | int nId; |
| 186 | if( zName ) zTxt = builtin_text(zName); |
| 187 | if( zTxt==0 ){ |
| 188 | const char *zM = P("m"); |
| 189 | if( zM ){ |
| 190 | builtin_deliver_multiple_js_files(zM, zType); |
| 191 | return; |
| 192 | } |
| 193 | cgi_set_status(404, "Not Found"); |
| 194 | @ File "%h(zName)" not found |
| 195 |
| --- src/builtin.c | |
| +++ src/builtin.c | |
| @@ -144,10 +144,11 @@ | |
| 144 | cgi_set_content_type(zType); |
| 145 | pOut = cgi_output_blob(); |
| 146 | while( zList[0] ){ |
| 147 | int i = atoi(zList); |
| 148 | if( i>0 && i<=count(aBuiltinFiles) ){ |
| 149 | blob_appendf(pOut, "/* %s */\n", aBuiltinFiles[i-1].zName); |
| 150 | blob_append(pOut, (const char*)aBuiltinFiles[i-1].pData, |
| 151 | aBuiltinFiles[i-1].nByte); |
| 152 | } |
| 153 | while( fossil_isdigit(zList[0]) ) zList++; |
| 154 | if( zList[0]==',' ) zList++; |
| @@ -185,10 +186,17 @@ | |
| 186 | int nId; |
| 187 | if( zName ) zTxt = builtin_text(zName); |
| 188 | if( zTxt==0 ){ |
| 189 | const char *zM = P("m"); |
| 190 | if( zM ){ |
| 191 | if( zId && (nId = (int)strlen(zId))>=8 |
| 192 | && strncmp(zId,fossil_exe_id(),nId)==0 |
| 193 | ){ |
| 194 | g.isConst = 1; |
| 195 | }else{ |
| 196 | etag_check(0,0); |
| 197 | } |
| 198 | builtin_deliver_multiple_js_files(zM, zType); |
| 199 | return; |
| 200 | } |
| 201 | cgi_set_status(404, "Not Found"); |
| 202 | @ File "%h(zName)" not found |
| 203 |
+1
-1
| --- src/graph.js | ||
| +++ src/graph.js | ||
| @@ -779,6 +779,6 @@ | ||
| 779 | 779 | if(!dataObj) break; |
| 780 | 780 | var txJson = dataObj.textContent || dataObj.innerText; |
| 781 | 781 | var tx = JSON.parse(txJson); |
| 782 | 782 | TimelineGraph(tx); |
| 783 | 783 | } |
| 784 | -}()) | |
| 784 | +}()); | |
| 785 | 785 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -779,6 +779,6 @@ | |
| 779 | if(!dataObj) break; |
| 780 | var txJson = dataObj.textContent || dataObj.innerText; |
| 781 | var tx = JSON.parse(txJson); |
| 782 | TimelineGraph(tx); |
| 783 | } |
| 784 | }()) |
| 785 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -779,6 +779,6 @@ | |
| 779 | if(!dataObj) break; |
| 780 | var txJson = dataObj.textContent || dataObj.innerText; |
| 781 | var tx = JSON.parse(txJson); |
| 782 | TimelineGraph(tx); |
| 783 | } |
| 784 | }()); |
| 785 |