Mercurial > prosody-modules
annotate mod_http_hostaliases/mod_http_hostaliases.lua @ 5354:39d59d857bfb
mod_http_oauth2: Use new mod_cron API for periodic cleanup
Less frequent but this isn't that important after all since, as the
comment states, expired codes are not usable anyway. They're also not
that large so memory usage probably doesn't matter.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 22 Apr 2023 11:59:52 +0200 |
parents | 29e3a09275c5 |
children |
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 |