note description: "Simple file execution, serving home.html, ewf.png and 404.html" date: "$Date$" revision: "$Revision$" class SERVICE_FILE_EXECUTION inherit WSF_EXECUTION create make feature {NONE} -- Initialization execute 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") mesg := not_found end 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