summaryrefslogtreecommitdiff
path: root/doc/uml/url_diagram.dot
blob: 5a59abe485bd74e0a3e2f1d483d7dff329c09c6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// This is a graphviz file. To generate a diagram from this source,
// you must first install graphviz (available from homebrew). Then run
// the following command:
//
// dot -Tpng -o url_diagram.png url_diagram.dot

digraph G {
    graph [fontsize = 14, penwidth = 0, rankdir = UD];
    node [shape = "rect"];
    edge [fontzize = 9, style = invis];

    subgraph cluster_url {
        label = "dns-admin URL diagram";
        color = black;

        subgraph cluster_urlmisc {
            label = "Miscellaneous";
            penwidth = 1;

            subgraph cluster_urlmiscbase {
                label = "Default";
                penwidth = 0;
                urlmisc_urlmiscbase [label = "GET /\n.base"];
            }

            subgraph cluster_urlmisclocation {
                label = "Redirector";
                penwidth = 0;
                urlmisc_urlmisclocation [label = "POST /location\n.location\nhandle-location"];
            }
        }

        subgraph cluster_urldnsmisc {
            label = "DNS miscellaneous";
            penwidth = 1;

            subgraph cluster_urldnsmiscbase {
                label = "Base layout";
                penwidth = 0;
                urldnsmisc_urldnsmiscbase [label = "GET /dns\n.dns\nhandle-dns"];
            }

            subgraph cluster_urldnsmischeaders {
                label = "Headers";
                penwidth = 0;
                urldnsmisc_urldnsmischeaders [label = "GET /dns/headers\n.dns-headers\nhandle-dns-headers"];
            }

            subgraph cluster_urldnsmiscloginget {
                label = "Login form";
                penwidth = 0;
                urldnsmisc_urldnsmiscloginget [label = "GET /dns/login\n.dns-login-get\nhandle-dns-login-get"];
            }

            subgraph cluster_urldnsmiscloginpost {
                label = "Login submit";
                penwidth = 0;
                urldnsmisc_urldnsmiscloginpost [label = "POST /dns/login\n.dns-login-post\nhandle-dns-login-post"];
            }
        }

        subgraph cluster_urldnsapi {
            label = "DNS API";
            penwidth = 1;

            subgraph cluster_urldnsapisearchget {
                label = "Search form";
                penwidth = 0;
                urldnsapi_urldnsapisearchget [label = "GET /dns/api/search\n.dns-api-search-get\nhandle-dns-api-search-get"];
            }

            subgraph cluster_urldnsapisearchpost {
                label = "Search submit";
                penwidth = 0;
                urldnsapi_urldnsapisearchpost [label = "POST /dns/api/search\n.dns-api-search-post\nhandle-dns-api-search-post"];
            }

            subgraph cluster_urldnsapiaddget {
                label = "Add form";
                penwidth = 0;
                urldnsapi_urldnsapiaddget [label = "GET /dns/api/add\n.dns-api-add-get\nhandle-dns-api-add-get"];
            }

            subgraph cluster_urldnsapiaddpost {
                label = "Add submit";
                penwidth = 0;
                urldnsapi_urldnsapiaddpost [label = "POST /dns/api/add\n.dns-api-add-post\nhandle-dns-api-add-post"];
            }

            subgraph cluster_urldnsapimodifyget {
                label = "Modify form";
                penwidth = 0;
                urldnsapi_urldnsapimodifyget [label = "GET /dns/api/modify\n.dns-api-modify-get\nhandle-dns-api-modify-get"];
            }

            subgraph cluster_urldnsapimodifypost {
                label = "Modify submit";
                penwidth = 0;
                urldnsapi_urldnsapimodifypost [label = "POST /dns/api/modify\n.dns-api-modify-post\nhandle-dns-api-modify-post"];
            }

            subgraph cluster_urldnsapideletepost {
                label = "Delete submit";
                penwidth = 0;
                urldnsapi_urldnsapideletepost [label = "POST /dns/api/delete\n.dns-api-delete-post\nhandle-dns-api-delete-post"];
            }

            subgraph cluster_urldnsapittlget {
                label = "TTL form";
                penwidth = 0;
                urldnsapi_urldnsapittlget [label = "GET /dns/api/ttl\n.dns-api-ttl-get\nhandle-dns-api-ttl-get"];
            }

            subgraph cluster_urldnsapittlpost {
                label = "TTL submit";
                penwidth = 0;
                urldnsapi_urldnsapittlpost [label = "POST /dns/api/ttl\n.dns-api-ttl-post\nhandle-dns-api-ttl-post"];
            }
        }
    }

    urlmisc_urlmiscbase -> urlmisc_urlmisclocation;
    urldnsmisc_urldnsmiscbase -> urldnsmisc_urldnsmischeaders;
    urldnsmisc_urldnsmiscloginget -> urldnsmisc_urldnsmiscloginpost;
    urldnsapi_urldnsapisearchget -> urldnsapi_urldnsapisearchpost;
    urldnsapi_urldnsapiaddget -> urldnsapi_urldnsapiaddpost;
    urldnsapi_urldnsapimodifyget -> urldnsapi_urldnsapimodifypost;
    urldnsapi_urldnsapittlget -> urldnsapi_urldnsapittlpost;
}