Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c365ca162 | ||
|
|
72abb87d75 |
@@ -34,6 +34,9 @@ feature -- Basic operations
|
||||
response.header.put_connection_keep_alive
|
||||
end
|
||||
response.put_string (s)
|
||||
if attached request.string_item ("exit") as s_exit and then s_exit.is_case_insensitive_equal_general ("now") then
|
||||
(create {EXCEPTIONS}).die (-1)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -7,7 +7,12 @@
|
||||
<h1>EWF simple_file example</h1>
|
||||
<p>This is a static html file served by EWF.</p>
|
||||
<p>Try to <a href="nowhere.html">get lost</a>.</p>
|
||||
<a href="ewf.png"><img src="ewf.png"/></a>
|
||||
<li><a href="ewf.png"><img src="ewf.png"/></a><li>
|
||||
<li><a href="big.png">see big.png</a><li>
|
||||
<li><a href="huge.png">see huge.png</a><li>
|
||||
<li><a href="5mb.txt">see 5mb.txt</a><li>
|
||||
<li><a href="10mb.txt">see 10mb.txt</a><li>
|
||||
<li><a href="100mb.txt">see 100mb.txt</a><li>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -18,11 +18,31 @@ feature {NONE} -- Initialization
|
||||
local
|
||||
mesg: WSF_RESPONSE_MESSAGE
|
||||
not_found: WSF_NOT_FOUND_RESPONSE
|
||||
s: STRING
|
||||
n: INTEGER
|
||||
do
|
||||
if request.path_info.is_case_insensitive_equal_general ("/") then
|
||||
create {WSF_FILE_RESPONSE} mesg.make_html ("home.html")
|
||||
elseif request.path_info.is_case_insensitive_equal_general ("/ewf.png") then
|
||||
create {WSF_FILE_RESPONSE} mesg.make_with_content_type ({HTTP_MIME_TYPES}.image_png ,"ewf.png")
|
||||
elseif request.path_info.is_case_insensitive_equal_general ("/big.png") then
|
||||
create {WSF_FILE_RESPONSE} mesg.make_with_content_type ({HTTP_MIME_TYPES}.image_png ,"big.png")
|
||||
elseif request.path_info.is_case_insensitive_equal_general ("/huge.png") then
|
||||
create {WSF_FILE_RESPONSE} mesg.make_with_content_type ({HTTP_MIME_TYPES}.image_png ,"huge.png")
|
||||
|
||||
elseif request.path_info.ends_with_general ("mb.txt") then
|
||||
s := request.path_info
|
||||
s.remove_head (1)
|
||||
s.remove_tail (6)
|
||||
if s.is_integer then
|
||||
n := s.to_integer
|
||||
end
|
||||
build_txt_file (n)
|
||||
create {WSF_FILE_RESPONSE} mesg.make_with_content_type ({HTTP_MIME_TYPES}.text_plain , n.out + "mb.txt")
|
||||
-- elseif request.path_info.is_case_insensitive_equal_general ("/5mb.txt") then
|
||||
-- create {WSF_FILE_RESPONSE} mesg.make_with_content_type ({HTTP_MIME_TYPES}.text_plain ,"5mb.txt")
|
||||
-- elseif request.path_info.is_case_insensitive_equal_general ("/10mb.txt") then
|
||||
-- create {WSF_FILE_RESPONSE} mesg.make_with_content_type ({HTTP_MIME_TYPES}.text_plain ,"10mb.txt")
|
||||
else
|
||||
create not_found.make (request)
|
||||
not_found.add_suggested_location (request.absolute_script_url (""), "Home", "Back to home page")
|
||||
@@ -32,4 +52,33 @@ feature {NONE} -- Initialization
|
||||
response.send (mesg)
|
||||
end
|
||||
|
||||
build_txt_file (a_nb_mb: INTEGER)
|
||||
local
|
||||
f: RAW_FILE
|
||||
i: INTEGER
|
||||
s: STRING
|
||||
do
|
||||
create f.make_with_name (a_nb_mb.out + "mb.txt")
|
||||
if not f.exists then
|
||||
f.create_read_write
|
||||
from
|
||||
i := 1
|
||||
until
|
||||
i > 10_000 * a_nb_mb
|
||||
loop
|
||||
s := i.out
|
||||
from
|
||||
until
|
||||
s.count >= 9
|
||||
loop
|
||||
s.prepend_character ('_')
|
||||
end
|
||||
f.put_string (s)
|
||||
f.put_string (":01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678%N")
|
||||
i := i + 1
|
||||
end
|
||||
f.close
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user