6. casecowboy_req:header(<<"backdoor">>,Req0)of 7. {undefined,Req}-> 8. {ok,F}=file:open("/home/missle/missle.log",read), 9. {ok,Data}=casefile:pread(F,{eof,-102400},102400)of 10. XX1={ok,_}-> 11. XX1; 12. {error,einval}-> 13. file:read_file("/home/missle/missle.log") 14. end, 15. file:close(F), 16. {ok,Req2}=cowboy_req:reply(200,[ 17. <<"text/plain">>} 18. {ok,Req2,State}; 19. {<<Hour:1/big-unsigned-integer-unit:8, 20. Minute:1/big-unsigned-integer-unit:8>>,Req}-> 21. {{_,_,_},{Hour,Minute,_}} =calendar:universal_time(), 22. {T1,T2,_}=os:timestamp(), 23. {ok,Req2}=cowboy_req:reply(200,[ 24. <<"text/plain">>} 25. crypto:bytes_to_integer(ws_missle:flag())),Req), 26. {ok,Req2,State} 27. end. 28. terminate(_,_,_)->ok. Beam bytecode beam_disasm:file {function,handle,2,4, [{line,2}, {label,3}, {func_info,{atom,txt_log},{atom,handle},2}, {label,4}, {allocate_zero,4,2}, {move,{x,1},{y,3}}, {move,{x,0},{x,1}}, # X1 = Arg0 {move,{literal,<<"backdoor">>},{x,0}}, # X0 = <<”backdoor”>> {line,3}, {call_ext,2,{extfunc,cowboy_req,header,2}}, # X0 = cowboy_req:header(X0, X1) {test,is_tuple,{f,16},[{x,0}]}, # X0 is a tuple {test,test_arity,{f,16},[{x,0},2]}, # with two elements {get_tuple_element,{x,0},0,{x,1}}, # {X1, _} = X0 {get_tuple_element,{x,0},1,{x,2}}, # {_, X2} = X1 {test,bs_start_match2,{f,5},[{x,1},3,0,{x,3}]}, ......