diff --git a/examples/example.cpp b/examples/example.cpp index 2ab9939a5..c3294410f 100644 --- a/examples/example.cpp +++ b/examples/example.cpp @@ -150,6 +150,11 @@ int main() return crow::response{os.str()}; }); + CROW_ROUTE(app, "/large") + ([]{ + return std::string(512*1024, ' '); + }); + // ignore all log crow::logger::setLogLevel(crow::LogLevel::DEBUG); //crow::logger::setHandler(std::make_shared()); diff --git a/examples/example_test.py b/examples/example_test.py index e2bf651e6..d252df0b8 100644 --- a/examples/example_test.py +++ b/examples/example_test.py @@ -18,11 +18,27 @@ for i in xrange(10): Host: localhost\r\n\r\n'''); assert 'Hello World!' in s.recv(1024) +# test large +s = socket.socket() +s.connect(('localhost', 18080)) +s.send('''GET /large HTTP/1.1 +Host: localhost\r\nConnection: close\r\n\r\n''') +r = '' +while True: + d = s.recv(1024*1024) + if not d: + break; + r += d + print len(r), len(d) +print len(r), r[:100] +assert len(r) > 512*1024 + # test timeout s = socket.socket() s.connect(('localhost', 18080)) -print 'ERROR REQUEST' +# invalid request, connection will be closed after timeout s.send('''GET / HTTP/1.1 hHhHHefhwjkefhklwejfklwejf ''') print s.recv(1024) +