~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to lib/dialyzer/test/r9c_tests_SUITE_data/src/inets/mod_actions.erl

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%% ``The contents of this file are subject to the Erlang Public License,
 
2
%% Version 1.1, (the "License"); you may not use this file except in
 
3
%% compliance with the License. You should have received a copy of the
 
4
%% Erlang Public License along with this software. If not, it can be
 
5
%% retrieved via the world wide web at http://www.erlang.org/.
 
6
%% 
 
7
%% Software distributed under the License is distributed on an "AS IS"
 
8
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 
9
%% the License for the specific language governing rights and limitations
 
10
%% under the License.
 
11
%% 
 
12
%% The Initial Developer of the Original Code is Ericsson Utvecklings AB.
 
13
%% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 
14
%% AB. All Rights Reserved.''
 
15
%% 
 
16
%%     $Id: mod_actions.erl,v 1.1 2008/12/17 09:53:34 mikpe Exp $
 
17
%%
 
18
-module(mod_actions).
 
19
-export([do/1,load/2]).
 
20
 
 
21
-include("httpd.hrl").
 
22
 
 
23
%% do
 
24
 
 
25
do(Info) ->
 
26
  case httpd_util:key1search(Info#mod.data,status) of
 
27
    %% A status code has been generated!
 
28
    {StatusCode,PhraseArgs,Reason} ->
 
29
      {proceed,Info#mod.data};
 
30
    %% No status code has been generated!
 
31
    undefined ->
 
32
      case httpd_util:key1search(Info#mod.data,response) of
 
33
        %% No response has been generated!
 
34
        undefined ->
 
35
          Path=mod_alias:path(Info#mod.data,Info#mod.config_db,
 
36
                              Info#mod.request_uri),
 
37
          Suffix=httpd_util:suffix(Path),
 
38
          MimeType=httpd_util:lookup_mime(Info#mod.config_db,Suffix,
 
39
                                          "text/plain"),
 
40
          Actions=httpd_util:multi_lookup(Info#mod.config_db,action),
 
41
          case action(Info#mod.request_uri,MimeType,Actions) of
 
42
            {yes,RequestURI} ->
 
43
              {proceed,[{new_request_uri,RequestURI}|Info#mod.data]};
 
44
            no ->
 
45
              Scripts=httpd_util:multi_lookup(Info#mod.config_db,script),
 
46
              case script(Info#mod.request_uri,Info#mod.method,Scripts) of
 
47
                {yes,RequestURI} ->
 
48
                  {proceed,[{new_request_uri,RequestURI}|Info#mod.data]};
 
49
                no ->
 
50
                  {proceed,Info#mod.data}
 
51
              end
 
52
          end;
 
53
        %% A response has been generated or sent!
 
54
        Response ->
 
55
          {proceed,Info#mod.data}
 
56
      end
 
57
  end.
 
58
 
 
59
action(RequestURI,MimeType,[]) ->
 
60
  no;
 
61
action(RequestURI,MimeType,[{MimeType,CGIScript}|Rest]) ->
 
62
  {yes,CGIScript++RequestURI};
 
63
action(RequestURI,MimeType,[_|Rest]) ->
 
64
  action(RequestURI,MimeType,Rest).
 
65
 
 
66
script(RequestURI,Method,[]) ->
 
67
  no;
 
68
script(RequestURI,Method,[{Method,CGIScript}|Rest]) ->
 
69
  {yes,CGIScript++RequestURI};
 
70
script(RequestURI,Method,[_|Rest]) ->
 
71
  script(RequestURI,Method,Rest).
 
72
 
 
73
%%
 
74
%% Configuration
 
75
%%
 
76
 
 
77
%% load
 
78
 
 
79
load([$A,$c,$t,$i,$o,$n,$ |Action],[]) ->
 
80
  case regexp:split(Action," ") of
 
81
    {ok,[MimeType,CGIScript]} ->
 
82
      {ok,[],{action,{MimeType,CGIScript}}};
 
83
    {ok,_} ->
 
84
      {error,?NICE(httpd_conf:clean(Action)++" is an invalid Action")}
 
85
  end;
 
86
load([$S,$c,$r,$i,$p,$t,$ |Script],[]) ->
 
87
  case regexp:split(Script," ") of
 
88
    {ok,[Method,CGIScript]} ->
 
89
      {ok,[],{script,{Method,CGIScript}}};
 
90
    {ok,_} ->
 
91
      {error,?NICE(httpd_conf:clean(Script)++" is an invalid Script")}
 
92
  end.