mirror of
https://github.com/stefanocasazza/ULib.git
synced 2025-09-28 19:05:55 +08:00
sync
This commit is contained in:
parent
120253d566
commit
a0fd0ec618
6
.editorconfig
Normal file
6
.editorconfig
Normal file
|
@ -0,0 +1,6 @@
|
|||
root=true
|
||||
|
||||
[*]
|
||||
insert_final_newline = true
|
||||
indent_style = tab
|
||||
tab_width = 3
|
|
@ -30,10 +30,10 @@ The current version offers the following features :
|
|||
* Support for URL traffic based throttling (experimental).
|
||||
* Support for overriden of error messages by local document (ex. ErrorDocument/400.html).
|
||||
* Support for RewriteRule (lighttpd-like) that check for file existence as they do on Apache, some CMS (SilverStripe) require it.
|
||||
* Support for (apache-like) log [NCSA extended/combined format](http://httpd.apache.org/docs/2.0/mod/mod_log_config.html)
|
||||
* Support for (apache-like) log [NCSA extended/combined format](http://httpd.apache.org/docs/2.0/mod/mod_log_config.html).
|
||||
* Support for [JSONRequest](http://json.org/JSONRequest.html).
|
||||
* Accept HTTP uploads up to 4 GB without increasing memory usage.
|
||||
* General [CGI](http://it.wikipedia.org/wiki/Common_Gateway_Interface) support (run any CGI script) with automatic output compression (using gzip method).
|
||||
* General [CGI](http://it.wikipedia.org/wiki/Common_Gateway_Interface) support (run any CGI script) with automatic output compression (using gzip,brotli method).
|
||||
* CGI support for shell script processes (with automatic management of form and cookie).
|
||||
* CGI support for the X-Sendfile feature and also supports X-Accel-Redirect headers transparently.
|
||||
* Support for minify HTML CGI output by wrapping [google page speed SDK](http://code.google.com/speed/page-speed/download.html#pagespeed-sdk).
|
||||
|
|
|
@ -290,7 +290,8 @@ public:
|
|||
{
|
||||
U_TRACE_NO_PARAM(0, "UClientImage_Base::setRequestToCache()")
|
||||
|
||||
U_INTERNAL_DUMP("U_ClientImage_pipeline = %b size_request = %u U_http_uri_offset = %u", U_ClientImage_pipeline, size_request, U_http_uri_offset)
|
||||
U_INTERNAL_DUMP("U_ClientImage_pipeline = %b size_request = %u U_http_uri_offset = %u U_http_info.startHeader = %u",
|
||||
U_ClientImage_pipeline, size_request, U_http_uri_offset, U_http_info.startHeader)
|
||||
|
||||
# if !defined(U_CACHE_REQUEST_DISABLE) || defined(U_SERVER_CHECK_TIME_BETWEEN_REQUEST)
|
||||
U_INTERNAL_ASSERT_MAJOR(size_request, 0)
|
||||
|
|
|
@ -52,6 +52,8 @@ class UClientImage_Base;
|
|||
template <class T> class UClient;
|
||||
template <class T> class URDBObjectHandler;
|
||||
|
||||
extern "C" { extern void runDynamicPage_dirlist(int); };
|
||||
|
||||
class U_EXPORT UHTTP {
|
||||
public:
|
||||
|
||||
|
@ -1371,7 +1373,7 @@ private:
|
|||
}
|
||||
#endif
|
||||
|
||||
static UString getHTMLDirectoryList() U_NO_EXPORT;
|
||||
static UString getHTMLDirectoryList();
|
||||
|
||||
#if defined(U_ALIAS) && defined(USE_LIBPCRE) // REWRITE RULE
|
||||
static void processRewriteRule() U_NO_EXPORT;
|
||||
|
@ -1483,6 +1485,8 @@ private:
|
|||
friend class UProxyPlugIn;
|
||||
friend class UClientImage_Base;
|
||||
|
||||
friend void runDynamicPage_dirlist(int);
|
||||
|
||||
#ifdef U_STDCPP_ENABLE
|
||||
friend istream& operator>>(istream&, UHTTP::UFileCacheData&);
|
||||
#endif
|
||||
|
|
|
@ -712,10 +712,12 @@ void ULog::logResponse(const UString& data, const char* format, uint32_t fmt_siz
|
|||
U_INTERNAL_ASSERT_MAJOR(u_printf_string_max_length, 0)
|
||||
}
|
||||
|
||||
U_INTERNAL_DUMP("u_printf_string_max_length = %d", u_printf_string_max_length)
|
||||
U_INTERNAL_DUMP("u_printf_string_max_length = %d UServer_Base::mod_name = %S", u_printf_string_max_length, UServer_Base::mod_name)
|
||||
|
||||
len = (UServer_Base::mod_name[0][0] ? u__snprintf(buffer, sizeof(buffer), U_CONSTANT_TO_PARAM("%s"), UServer_Base::mod_name) : 0);
|
||||
len += u__snprintf(buffer-len, sizeof(buffer)-len, U_CONSTANT_TO_PARAM("received response (%u bytes) %#.*S"), sz, sz, ptr);
|
||||
len = u__snprintf(buffer, sizeof(buffer), U_CONSTANT_TO_PARAM("%sreceived response (%u bytes) %#.*S"),
|
||||
UServer_Base::mod_name[0][0] ? (const char*)UServer_Base::mod_name : "", sz, sz, ptr);
|
||||
|
||||
U_INTERNAL_DUMP("len = %u", len)
|
||||
|
||||
if (fmt_size)
|
||||
{
|
||||
|
|
|
@ -914,7 +914,7 @@ bool UHttpClient_Base::sendRequest()
|
|||
|
||||
U_INTERNAL_ASSERT_RANGE(0,UClient_Base::iovcnt,6)
|
||||
|
||||
U_INTERNAL_DUMP("server_context_flag = %b U_ClientImage_close = %b", server_context_flag, U_ClientImage_close)
|
||||
U_INTERNAL_DUMP("server_context_flag = %b U_ClientImage_close = %b U_http_info.startHeader = %u", server_context_flag, U_ClientImage_close, U_http_info.startHeader)
|
||||
|
||||
bool ok;
|
||||
uint64_t flag_save = 0;
|
||||
|
@ -953,7 +953,7 @@ bool UHttpClient_Base::sendRequest()
|
|||
U_http_info = http_info_save;
|
||||
}
|
||||
|
||||
U_INTERNAL_DUMP("server_context_flag = %b U_ClientImage_close = %b", server_context_flag, U_ClientImage_close)
|
||||
U_INTERNAL_DUMP("server_context_flag = %b U_ClientImage_close = %b U_http_info.startHeader = %u", server_context_flag, U_ClientImage_close, U_http_info.startHeader)
|
||||
|
||||
U_RETURN(ok);
|
||||
}
|
||||
|
@ -980,6 +980,8 @@ bool UHttpClient_Base::sendRequest(const UString& req)
|
|||
|
||||
(void) UClient_Base::uri.assign(U_HTTP_URI_QUERY_TO_PARAM);
|
||||
|
||||
U_http_info.startHeader += U_CONSTANT_SIZE(U_CRLF);
|
||||
|
||||
if (sendRequest()) result = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -786,7 +786,7 @@ void UClientImage_Base::endRequest()
|
|||
# ifndef U_CACHE_REQUEST_DISABLE
|
||||
if (U_ClientImage_request_is_cached)
|
||||
{
|
||||
U_INTERNAL_DUMP("U_http_uri_offset = %u", U_http_uri_offset)
|
||||
U_INTERNAL_DUMP("U_http_uri_offset = %u U_http_info.startHeader = %u U_http_info.uri_len = %u", U_http_uri_offset, U_http_info.startHeader, U_http_info.uri_len)
|
||||
|
||||
U_INTERNAL_ASSERT_RANGE(1,U_http_uri_offset,254)
|
||||
|
||||
|
|
|
@ -181,14 +181,7 @@ int UProxyPlugIn::handlerRequest()
|
|||
|
||||
*UClientImage_Base::wbuffer = client_http->getResponse();
|
||||
|
||||
if (result == false)
|
||||
{
|
||||
UClientImage_Base::setRequestProcessed();
|
||||
|
||||
# ifndef U_LOG_DISABLE
|
||||
if (UServer_Base::isLog()) UServer_Base::log->logResponse(*UClientImage_Base::wbuffer, U_CONSTANT_TO_PARAM(""), 0);
|
||||
# endif
|
||||
}
|
||||
if (result == false) UClientImage_Base::setRequestProcessed();
|
||||
else
|
||||
{
|
||||
UClientImage_Base::setNoHeaderForResponse();
|
||||
|
|
|
@ -6113,7 +6113,7 @@ const char* UHTTP::getStatusDescription(uint32_t* plen)
|
|||
|
||||
#undef U_HTTP_ENTRY
|
||||
|
||||
U_NO_EXPORT UString UHTTP::getHTMLDirectoryList()
|
||||
UString UHTTP::getHTMLDirectoryList()
|
||||
{
|
||||
U_TRACE_NO_PARAM(0, "UHTTP::getHTMLDirectoryList()")
|
||||
|
||||
|
|
|
@ -324,7 +324,8 @@ check_for_netcat() {
|
|||
[ "$NC_TEST" = "Ncat 7.00 " ] || \
|
||||
[ "$NC_TEST" = "Ncat 7.10 " ] || \
|
||||
[ "$NC_TEST" = "Ncat 7.12 " ] || \
|
||||
[ "$NC_TEST" = "Ncat 7.40 " ]; then
|
||||
[ "$NC_TEST" = "Ncat 7.40 " ] || \
|
||||
[ "$NC_TEST" = "Ncat 7.60 " ]; then
|
||||
NCAT=ncat
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -9,7 +9,7 @@ EXTRA_DIST = inp ok CA CSP LCSP TSA RSIGN XAdES nocat wi-auth WAGSM RA IR/WEB IR
|
|||
|
||||
## DEFS = -DU_TEST @DEFS@
|
||||
|
||||
TESTS = client_server.test test_manager.test IR.test web_server.test web_server_multiclient.test web_socket.test ## workflow.test
|
||||
TESTS = client_server.test test_manager.test IR.test web_server.test web_server_multiclient.test web_socket.test web_server_proxy.test ## workflow.test
|
||||
|
||||
if DEBUG
|
||||
PRG = bench_http_parser test_http_parser
|
||||
|
@ -77,7 +77,7 @@ LDADD = @ULIBS@ $(HTTP_LIB) $(top_builddir)/src/ulib/lib@ULIB@.la @ULIB_LIBS@
|
|||
## web_server_multiclient.test form_completion.test http_header.test lrp_pusher.test lrp_session.test workflow.test
|
||||
test: all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
|
||||
../make_test.sh client_server.test test_manager.test IR.test web_server.test web_socket.test tsa_http.test tsa_https.test rsign_rpc.test tsa_rpc.test uclient.test tsa_ssoap.test rsign.test web_server_ssl.test PEC_report_rejected.test PEC_report_messaggi.test PEC_report_virus.test PEC_report_anomalie.test PEC_check_namefile.test doc_parse.test xml2txt.test ../reset.color
|
||||
../make_test.sh client_server.test test_manager.test IR.test web_server.test web_server_proxy.test web_socket.test tsa_http.test tsa_https.test rsign_rpc.test tsa_rpc.test uclient.test tsa_ssoap.test rsign.test web_server_ssl.test PEC_report_rejected.test PEC_report_messaggi.test PEC_report_virus.test PEC_report_anomalie.test PEC_check_namefile.test doc_parse.test xml2txt.test ../reset.color
|
||||
|
||||
clean-local:
|
||||
-rm -rf out err core .libs *.bb* *.da *.gc* IR/db* TSA/gSOAP/tsa_client \
|
||||
|
|
|
@ -628,10 +628,10 @@ EXTRA_DIST = inp ok CA CSP LCSP TSA RSIGN XAdES nocat wi-auth WAGSM RA IR/WEB IR
|
|||
*.properties *.test *.sh error_msg workflow doc_parse robots.txt alias.txt throttling.txt css js benchmark websocket docroot php.sh test_http_parser.h
|
||||
|
||||
TESTS = client_server.test test_manager.test IR.test web_server.test \
|
||||
web_server_multiclient.test web_socket.test $(am__append_1) \
|
||||
$(am__append_2) $(am__append_3) $(am__append_4) \
|
||||
$(am__append_5) $(am__append_6) $(am__append_7) \
|
||||
$(am__append_8) ../reset.color
|
||||
web_server_multiclient.test web_socket.test \
|
||||
web_server_proxy.test $(am__append_1) $(am__append_2) \
|
||||
$(am__append_3) $(am__append_4) $(am__append_5) \
|
||||
$(am__append_6) $(am__append_7) $(am__append_8) ../reset.color
|
||||
@DEBUG_TRUE@PRG = bench_http_parser test_http_parser
|
||||
@DEBUG_TRUE@bench_http_parser_SOURCES = bench_http_parser.cpp
|
||||
@DEBUG_TRUE@test_http_parser_SOURCES = test_http_parser.cpp ctest_http_parser.c
|
||||
|
@ -1128,7 +1128,7 @@ uninstall-am:
|
|||
|
||||
test: all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
|
||||
../make_test.sh client_server.test test_manager.test IR.test web_server.test web_socket.test tsa_http.test tsa_https.test rsign_rpc.test tsa_rpc.test uclient.test tsa_ssoap.test rsign.test web_server_ssl.test PEC_report_rejected.test PEC_report_messaggi.test PEC_report_virus.test PEC_report_anomalie.test PEC_check_namefile.test doc_parse.test xml2txt.test ../reset.color
|
||||
../make_test.sh client_server.test test_manager.test IR.test web_server.test web_server_proxy.test web_socket.test tsa_http.test tsa_https.test rsign_rpc.test tsa_rpc.test uclient.test tsa_ssoap.test rsign.test web_server_ssl.test PEC_report_rejected.test PEC_report_messaggi.test PEC_report_virus.test PEC_report_anomalie.test PEC_check_namefile.test doc_parse.test xml2txt.test ../reset.color
|
||||
|
||||
clean-local:
|
||||
-rm -rf out err core .libs *.bb* *.da *.gc* IR/db* TSA/gSOAP/tsa_client \
|
||||
|
|
42
tests/examples/ok/webserver_proxy.ok
Normal file
42
tests/examples/ok/webserver_proxy.ok
Normal file
|
@ -0,0 +1,42 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Welcome to ULib Web Server!</title>
|
||||
<!--
|
||||
<script language="javascript" src="js/jquery.js" type="text/javascript"></script>
|
||||
<script language="javascript" type="text/javascript">
|
||||
$(document).ready( function() {
|
||||
// get verification code with Ajax
|
||||
$.get('get_checkingcode_php', { data:'getting code' }, function(checkingcode) { $('#codebox').html(checkingcode); }); } );
|
||||
</script>
|
||||
-->
|
||||
</head>
|
||||
|
||||
<body bgcolor="white" text="black">
|
||||
<center>
|
||||
<h1>Welcome to ULib Web Server!</h1>
|
||||
</center>
|
||||
<!--
|
||||
<form action="cgi-bin/check_form.php" method="post">
|
||||
<p>First Name <input name="1" type="text" class="inputbox" title="Enter your first name"></p>
|
||||
<p>Last Name <input name="2" type="text" class="inputbox" title="Enter your last name"></p>
|
||||
<p>Email <input name="3" type="text" class="inputbox" title="Enter your email address"></p>
|
||||
<p>Enter your comments below:</p>
|
||||
<p><textarea name="4" title="Enter your comments" rows="10" cols="10"></textarea></p>
|
||||
<div id="codebox"></div>
|
||||
<p>Verification Code: <input name="5" type="text" name="code" class="checkingcode" title="Enter the above four-digit verification code"></p>
|
||||
<p><input type="submit" value="Send Data"></p>
|
||||
</form>
|
||||
-->
|
||||
|
||||
<div class="Video">
|
||||
<object width="400" height="225">
|
||||
<param name="movie" value="http://10.30.1.131/test.flv">
|
||||
<param name="allowFullScreen" value="true">
|
||||
<param name="allowscriptaccess" value="always">
|
||||
<embed src="http://10.30.1.131/test.flv" type="video/x-flv" allowscriptaccess="always"
|
||||
allowfullscreen="true" width="400" height="225">
|
||||
</object>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
@ -4,10 +4,11 @@
|
|||
|
||||
(cd benchmark; rm -f db; creat_link FrameworkBenchmarks/ULib/db db)
|
||||
|
||||
DOC_ROOT=docroot
|
||||
#DOC_ROOT=docroot
|
||||
#DOC_ROOT=sse_example
|
||||
#DOC_ROOT=ruby/blog
|
||||
#DOC_ROOT=benchmark/docroot
|
||||
DOC_ROOT=ShivShankarDayal/docroot
|
||||
|
||||
rm -f tmp/usp_compile.sh.err /tmp/*.hpack.* \
|
||||
$DOC_ROOT/web_server.log* \
|
||||
|
@ -82,15 +83,16 @@ userver {
|
|||
#PLUGIN_DIR ../../src/ulib/net/server/plugin/.libs
|
||||
#ORM_DRIVER_DIR ../../src/ulib/orm/driver/.libs
|
||||
#DOCUMENT_ROOT php
|
||||
DOCUMENT_ROOT docroot
|
||||
#DOCUMENT_ROOT docroot
|
||||
#DOCUMENT_ROOT sse_example
|
||||
PLUGIN_DIR ../../../src/ulib/net/server/plugin/.libs
|
||||
ORM_DRIVER_DIR ../../../src/ulib/orm/driver/.libs
|
||||
#PLUGIN_DIR ../../../src/ulib/net/server/plugin/.libs
|
||||
#ORM_DRIVER_DIR ../../../src/ulib/orm/driver/.libs
|
||||
#DOCUMENT_ROOT JONATHAN/docroot
|
||||
#DOCUMENT_ROOT benchmark/docroot
|
||||
#DOCUMENT_ROOT ruby/blog/public
|
||||
#PLUGIN_DIR ../../../../src/ulib/net/server/plugin/.libs
|
||||
#ORM_DRIVER_DIR ../../../../src/ulib/orm/driver/.libs
|
||||
DOCUMENT_ROOT ShivShankarDayal/docroot
|
||||
PLUGIN_DIR ../../../../src/ulib/net/server/plugin/.libs
|
||||
ORM_DRIVER_DIR ../../../../src/ulib/orm/driver/.libs
|
||||
}
|
||||
http {
|
||||
#ALIAS "[ / /100.html ]"
|
||||
|
|
10
tests/examples/web_server_echo.cfg
Normal file
10
tests/examples/web_server_echo.cfg
Normal file
|
@ -0,0 +1,10 @@
|
|||
userver {
|
||||
|
||||
PORT 8080
|
||||
LOG_FILE web_server_echo.log
|
||||
|
||||
PLUGIN echo
|
||||
PLUGIN_DIR ../../src/ulib/net/server/plugin/.libs
|
||||
|
||||
PREFORK_CHILD 0
|
||||
}
|
89
tests/examples/web_server_proxy.test
Executable file
89
tests/examples/web_server_proxy.test
Executable file
|
@ -0,0 +1,89 @@
|
|||
#!/bin/sh
|
||||
|
||||
. ../.function
|
||||
|
||||
DOC_ROOT1=benchmark/docroot
|
||||
DOC_ROOT2=docroot
|
||||
|
||||
rm -f tmp/usp_compile.sh.err /tmp/*.hpack.* \
|
||||
$DOC_ROOT1/webserver*.log* \
|
||||
$DOC_ROOT2/webserver*.log* \
|
||||
out/userver_*.out err/userver_*.err \
|
||||
out/webserver_*.out err/webserver_*.err \
|
||||
trace.*userver_*.[0-9]* object.*userver_*.[0-9]* stack.*userver_*.[0-9]* mempool.*userver_*.[0-9]* \
|
||||
$DOC_ROOT1/trace.*userver_*.[0-9]* $DOC_ROOT1/object.*userver_*.[0-9]* $DOC_ROOT1/stack.*userver_*.[0-9]* $DOC_ROOT1/mempool.*userver_*.[0-9]* \
|
||||
$DOC_ROOT2/trace.*userver_*.[0-9]* $DOC_ROOT2/object.*userver_*.[0-9]* $DOC_ROOT2/stack.*userver_*.[0-9]* $DOC_ROOT2/mempool.*userver_*.[0-9]*
|
||||
|
||||
#UTRACE="0 10M 0"
|
||||
#UOBJDUMP="0 10M 100"
|
||||
#USIMERR="error.sim"
|
||||
#UMEMUSAGE=yes
|
||||
export UTRACE UOBJDUMP USIMERR UTRACE_SIGNAL UMEMUSAGE
|
||||
|
||||
DIR_CMD="../../examples/userver"
|
||||
|
||||
cat <<EOF >inp/webserver.cfg
|
||||
userver {
|
||||
PORT 8080
|
||||
RUN_AS_USER nobody
|
||||
LOG_FILE webserver.log
|
||||
LOG_FILE_SZ 10M
|
||||
LOG_MSG_SIZE -1
|
||||
PID_FILE /var/run/userver_tcp.pid
|
||||
PREFORK_CHILD 0
|
||||
DOCUMENT_ROOT $DOC_ROOT1
|
||||
PLUGIN_DIR ../../../../src/ulib/net/server/plugin/.libs
|
||||
}
|
||||
http {
|
||||
APACHE_LIKE_LOG /var/log/httpd/access_log
|
||||
LOG_FILE_SZ 10M
|
||||
}
|
||||
EOF
|
||||
|
||||
cat <<EOF >inp/webserver_proxy.cfg
|
||||
userver {
|
||||
PORT 8787
|
||||
RUN_AS_USER nobody
|
||||
LOG_FILE webserver_proxy.log
|
||||
LOG_FILE_SZ 10M
|
||||
LOG_MSG_SIZE -1
|
||||
PID_FILE /var/run/userver_tcp_proxy.pid
|
||||
PREFORK_CHILD 0
|
||||
DOCUMENT_ROOT $DOC_ROOT2
|
||||
PLUGIN "proxy http"
|
||||
PLUGIN_DIR ../../../src/ulib/net/server/plugin/.libs
|
||||
}
|
||||
http {
|
||||
APACHE_LIKE_LOG /var/log/httpd/access_log
|
||||
LOG_FILE_SZ 10M
|
||||
}
|
||||
proxy {
|
||||
Service_PROXY {
|
||||
URI /1000.html
|
||||
HOST localhost:8787
|
||||
METHOD_NAME GET
|
||||
PORT 8080
|
||||
SERVER 127.0.0.1
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
#STRACE=$TRUSS
|
||||
start_prg_background userver_tcp -c inp/webserver.cfg
|
||||
wait_server_ready localhost 8080
|
||||
start_prg_background userver_tcp -c inp/webserver_proxy.cfg
|
||||
wait_server_ready localhost 8787
|
||||
|
||||
sync
|
||||
#echo "PID1 = `cat /var/run/userver_tcp.pid`"
|
||||
#echo "PID2 = `cat /var/run/userver_tcp_proxy.pid`"
|
||||
|
||||
$CURL http://localhost:8787 >out/webserver_proxy.out 2>>err/userver_tcp.err
|
||||
$CURL http://localhost:8787/1000.html >>out/webserver_proxy.out 2>>err/userver_tcp.err
|
||||
|
||||
kill_server userver_tcp
|
||||
$SLEEP
|
||||
pkill userver_tcp 2>/dev/null
|
||||
|
||||
cat err/userver_tcp.err >> err/webserver_proxy.err
|
||||
rm err/userver_tcp.err
|
Loading…
Reference in New Issue
Block a user