%script_name([],_) ->
% not_an_executable;
%script_name([""|Rest],SoFar) ->
% script_name(Rest,SoFar);
%script_name([First|Rest],SoFar) ->
% NewSoFar=SoFar++"/"++First,
% case file:read_file_info(NewSoFar) of
% %% Do the script exists and is it executable? To be done!
% {ok,FileInfo} when FileInfo#file_info.type == regular ->
% {yes,NewSoFar,[$/|Rest]};
% {ok,FileInfo} ->
% script_name(Rest,NewSoFar);
% {error,Reason} ->
% script_name(Rest,NewSoFar)
% end.
case httpd_util:key1search(Info#mod.data,real_name) of
undefined ->
DocumentRoot=
httpd_util:lookup(Info#mod.config_db,document_root,""),
DocumentRoot++"/"++httpd_util:decode_hex(Info#mod.request_uri);
RealName ->
RealName
end,
test() ->
disk_log:open({name,"/var/tmp/server_root/logs/access_disk_log"},
{file,"/var/tmp/server_root/logs/access_disk_log"},
{linkto,Pid},
{format,external},
{type,Type}
{size,{MaxBytes,MaxFiles}},
{head,{M,F,A}},
%% order
parse_directory(Stream,ConfigDB,Directory,[$o,$r,$d,$e,$r|Order]) ->
case regexp:split(Order,",") of
{ok,[First,Second]} ->
CleanSecond=clean(Second),
case clean(First) of
"allow" when CleanSecond == "deny" ->
ets:insert(ConfigDB,{{directory,Directory},{"order",allow_deny}}),
parse_directory(Stream,ConfigDB,Directory);
"deny" when CleanSecond == "allow" ->
ets:insert(ConfigDB,{{directory,Directory},{"order",deny_allow}}),
parse_directory(Stream,ConfigDB,Directory);
_ ->
{error,atom_to_list(?MODULE)++": "++clean(Order)++
" is an invalid order!"}
end;
{ok,_} ->
{error,atom_to_list(?MODULE)++": "++clean(Order)++
" is an invalid order!"}
end;
%% Redirect
parse(Stream,ConfigDB,[$R,$e,$d,$i,$r,$e,$c,$t|Redirect]) ->
case regexp:split(Redirect," ") of
{ok,[FakeName,URL]} ->
ets:insert(ConfigDB,{"Redirect",{FakeName,URL}}),
parse(Stream,ConfigDB);
{ok,_} ->
{error,atom_to_list(?MODULE)++": "++clean(Redirect)++
" is an invalid Redirect!"}
end;
%% deny
parse_directory(Stream,ConfigDB,Directory,[$d,$e,$n,$y|Deny]) ->
case regexp:split(Deny," ") of
{ok,["from","all"]} ->
ets:insert(ConfigDB,{{directory,Directory},{"deny",all}}),
parse_directory(Stream,ConfigDB,Directory);
{ok,["from"|Hosts]} ->
ets:insert(ConfigDB,{{directory,Directory},{"deny",Hosts}}),
parse_directory(Stream,ConfigDB,Directory);
{ok,_} ->
{error,atom_to_list(?MODULE)++": "++clean(Deny)++
" is an invalid deny!"}
end;