Mercurial > prosody-modules
annotate mod_http_hostaliases/mod_http_hostaliases.lua @ 4646:072d078be095
mod_storage_xmlarchive: Advertise capabilities (none atm)
Both 'total' and 'quota' would be prohibitively expensive for the kind
of archives this module targets as it would require counting items
across the entire archive.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 13 Aug 2021 01:18:32 +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 |