-
Notifications
You must be signed in to change notification settings - Fork 324
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Preload all lua modules in init phase. Get rid of init globals.
Preloading all the lua modules should ensure better memory usage. And since required modules only ever get required once, we can actually get rid of some of our globals, which should be better/safer. This also adds a custom linting task that walks through the Lua source files and ensure all of the requires are pre-loaded in in the init phase, so this list is easier to maintain. See https://github.com/openresty/lua-nginx-module#init_by_lua for more details about COW memory handling of requiring in init phase.
- Loading branch information
Showing
39 changed files
with
281 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1 @@ | ||
inspect = require "inspect" | ||
config = require "api-umbrella.proxy.models.file_config" | ||
require "api-umbrella.proxy.models.file_config" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
-- Pre-load modules. | ||
require "api-umbrella.proxy.distributed_rate_limit_queue" | ||
require "api-umbrella.proxy.elasticsearch_templates_data" | ||
require "api-umbrella.proxy.error_handler" | ||
require "api-umbrella.proxy.jobs.distributed_rate_limit_puller" | ||
require "api-umbrella.proxy.jobs.distributed_rate_limit_pusher" | ||
require "api-umbrella.proxy.jobs.elasticsearch_setup" | ||
require "api-umbrella.proxy.jobs.load_api_users" | ||
require "api-umbrella.proxy.jobs.load_db_config" | ||
require "api-umbrella.proxy.log_utils" | ||
require "api-umbrella.proxy.middleware.api_key_validator" | ||
require "api-umbrella.proxy.middleware.api_matcher" | ||
require "api-umbrella.proxy.middleware.api_settings" | ||
require "api-umbrella.proxy.middleware.https_validator" | ||
require "api-umbrella.proxy.middleware.ip_validator" | ||
require "api-umbrella.proxy.middleware.rate_limit" | ||
require "api-umbrella.proxy.middleware.referer_validator" | ||
require "api-umbrella.proxy.middleware.rewrite_request" | ||
require "api-umbrella.proxy.middleware.rewrite_response" | ||
require "api-umbrella.proxy.middleware.role_validator" | ||
require "api-umbrella.proxy.middleware.user_settings" | ||
require "api-umbrella.proxy.middleware.website_matcher" | ||
require "api-umbrella.proxy.models.active_config" | ||
require "api-umbrella.proxy.models.db_config" | ||
require "api-umbrella.proxy.models.file_config" | ||
require "api-umbrella.proxy.startup.seed_database" | ||
require "api-umbrella.proxy.user_agent_parser" | ||
require "api-umbrella.proxy.user_agent_parser_data" | ||
require "api-umbrella.proxy.user_store" | ||
require "api-umbrella.proxy.utils" | ||
require "api-umbrella.utils.array_last" | ||
require "api-umbrella.utils.deep_merge_overwrite_arrays" | ||
require "api-umbrella.utils.elasticsearch" | ||
require "api-umbrella.utils.escape_regex" | ||
require "api-umbrella.utils.escape_uri_non_ascii" | ||
require "api-umbrella.utils.flatten_headers" | ||
require "api-umbrella.utils.host_normalize" | ||
require "api-umbrella.utils.httpsify_current_url" | ||
require "api-umbrella.utils.interval_lock" | ||
require "api-umbrella.utils.invert_table" | ||
require "api-umbrella.utils.is_hash" | ||
require "api-umbrella.utils.matches_hostname" | ||
require "api-umbrella.utils.mongo" | ||
require "api-umbrella.utils.mustache_unescape" | ||
require "api-umbrella.utils.nillify_json_nulls" | ||
require "api-umbrella.utils.nillify_yaml_nulls" | ||
require "api-umbrella.utils.random_token" | ||
require "api-umbrella.utils.redirect_matches_to_https" | ||
require "cjson" | ||
require "cmsgpack" | ||
require "iconv" | ||
require "icu-date" | ||
require "libcidr-ffi" | ||
require "lustache" | ||
require "lyaml" | ||
require "pl.path" | ||
require "pl.seq" | ||
require "pl.stringx" | ||
require "pl.tablex" | ||
require "pl.types" | ||
require "pl.utils" | ||
require "resty.logger.socket" | ||
require "resty.lrucache.pureffi" | ||
require "resty.sha256" | ||
require "resty.string" | ||
require "resty.txid" | ||
require "resty.uuid" | ||
require "shcache" | ||
require "socket.url" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
src/api-umbrella/proxy/hooks/set_x_api_umbrella_request_id.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
local txid = require "resty.txid" | ||
return txid() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.