Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add the --test option to the test-http command to make it usable interactively over an ssh link. Improve the on-line documentation for the test-http command. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
9834d4dc720b5b5ef3dfea3f55173738 |
| User & Date: | drh 2021-09-08 12:21:45.372 |
Context
|
2021-09-08
| ||
| 13:41 | Fix UV sync so that it works over SSH. [forum:/forumpost/b121db582ee1ed2c|Forum thread b121db582ee1ed2c]. See also the earlier attempt to fix this at [129e39587803da00]. ... (check-in: b11359c4bf user: drh tags: trunk) | |
| 12:21 | Add the --test option to the test-http command to make it usable interactively over an ssh link. Improve the on-line documentation for the test-http command. ... (check-in: 9834d4dc72 user: drh tags: trunk) | |
| 11:11 | Caught more instances of the previous commit's fix. ... (check-in: 992b62fa8b user: stephan tags: trunk) | |
Changes
Changes to src/main.c.
| ︙ | ︙ | |||
2739 2740 2741 2742 2743 2744 2745 |
process_one_web_page(0, FileGlob, 0);
blob_reset(&g.cgiIn);
} while ( g.fSshClient & CGI_SSH_FOSSIL ||
g.fSshClient & CGI_SSH_COMPAT );
}
/*
| < < | > > > > > > > > > > > > > > > > > > > > > > | | 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 |
process_one_web_page(0, FileGlob, 0);
blob_reset(&g.cgiIn);
} while ( g.fSshClient & CGI_SSH_FOSSIL ||
g.fSshClient & CGI_SSH_COMPAT );
}
/*
** COMMAND: test-http
**
** Works like the [[http]] command but gives setup permission to all users,
** or whatever permission is described by "--usercap CAP".
**
** This command can used for interactive debugging of web pages. For
** example, one can put a simple HTTP request in a file like this:
**
** echo 'GET /timeline' >request.txt
**
** Then run (in a debugger) a command like this:
**
** fossil test-http --debug <request.txt
**
** This command is also used internally by the "ssh" sync protocol. Some
** special processing to support sync happens when this command is run
** and the SSH_CONNECTION environment variable is set. Use the --test
** option on interactive sessions to avoid that special processing when
** using this command interactively over SSH. A better solution would be
** to use a different command for "ssh" sync, but we cannot do that without
** breaking legacy.
**
** Options:
** --test Do not do special "sync" processing when operating
** over an SSH link.
** --th-trace Trace TH1 execution (for debugging purposes)
** --usercap CAP User capability string (Default: "sxy")
**
*/
void cmd_test_http(void){
const char *zIpAddr; /* IP address of remote client */
const char *zUserCap;
int bTest = 0;
Th_InitTraceLog();
zUserCap = find_option("usercap",0,1);
if( zUserCap==0 ){
g.useLocalauth = 1;
zUserCap = "sxy";
}
bTest = find_option("test",0,0)!=0;
login_set_capabilities(zUserCap, 0);
g.httpIn = stdin;
g.httpOut = stdout;
fossil_binary_mode(g.httpOut);
fossil_binary_mode(g.httpIn);
g.zExtRoot = find_option("extroot",0,1);
find_server_repository(2, 0);
g.cgiOutput = 1;
g.fNoHttpCompress = 1;
g.fullHttpReply = 1;
g.sslNotAvailable = 1; /* Avoid attempts to redirect */
zIpAddr = bTest ? 0 : cgi_ssh_remote_addr(0);
if( zIpAddr && zIpAddr[0] ){
g.fSshClient |= CGI_SSH_CLIENT;
ssh_request_loop(zIpAddr, 0);
}else{
cgi_set_parameter("REMOTE_ADDR", "127.0.0.1");
cgi_handle_http_request(0);
process_one_web_page(0, 0, 1);
|
| ︙ | ︙ |