annotate mod_http_hostaliases/mod_http_hostaliases.lua @ 5271:3a1df3adad0c

mod_http_oauth2: Allow user to decide which requested scopes to grant These should at the very least be shown to the user, so they can decide whether to grant them. Considered whether to filter the requested scopes down to actually understood scopes that would be granted, but decided that this was a bit complex for a first step, since role role selection and other kinds of scopes are mixed into the same field here.
author Kim Alvefur <zash@zash.se>
date Thu, 23 Mar 2023 16:28:08 +0100
parents 29e3a09275c5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2265
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 module:set_global();
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local host_map = { };
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 module:wrap_object_event(require "net.http.server"._events, false, function (handlers, event_name, event_data)
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 local verb, host, path = event_name:match("^(%w+ )(.-)(/.*)");
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 host = host_map[host];
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 event_name = verb .. host .. path;
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 return handlers(event_name, event_data);
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 end);
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 function module.add_host(module)
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 local http_host = module:get_option_string("http_host");
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 for host in module:get_option_set("http_host_aliases", {}) do
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 host_map[host] = http_host;
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 end
29e3a09275c5 mod_http_hostaliases: Give HTTP hosts additional aliases
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 end