itsi 0.1.20 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -8
- data/Cargo.lock +2 -2
- data/LICENSE.txt +698 -0
- data/README.md +15 -4
- data/Rakefile +9 -5
- data/crates/itsi_acme/.gitignore +4 -0
- data/crates/itsi_acme/Cargo.toml +86 -0
- data/crates/itsi_acme/LICENSE-APACHE +201 -0
- data/crates/itsi_acme/LICENSE-MIT +23 -0
- data/crates/itsi_acme/README.md +9 -0
- data/crates/itsi_acme/examples/high_level.rs +63 -0
- data/crates/itsi_acme/examples/high_level_warp.rs +52 -0
- data/crates/itsi_acme/examples/low_level.rs +87 -0
- data/crates/itsi_acme/examples/low_level_axum.rs +66 -0
- data/crates/itsi_acme/src/acceptor.rs +81 -0
- data/crates/itsi_acme/src/acme.rs +354 -0
- data/crates/itsi_acme/src/axum.rs +86 -0
- data/crates/itsi_acme/src/cache.rs +39 -0
- data/crates/itsi_acme/src/caches/boxed.rs +80 -0
- data/crates/itsi_acme/src/caches/composite.rs +69 -0
- data/crates/itsi_acme/src/caches/dir.rs +106 -0
- data/crates/itsi_acme/src/caches/mod.rs +11 -0
- data/crates/itsi_acme/src/caches/no.rs +78 -0
- data/crates/itsi_acme/src/caches/test.rs +136 -0
- data/crates/itsi_acme/src/config.rs +172 -0
- data/crates/itsi_acme/src/https_helper.rs +69 -0
- data/crates/itsi_acme/src/incoming.rs +142 -0
- data/crates/itsi_acme/src/jose.rs +161 -0
- data/crates/itsi_acme/src/lib.rs +142 -0
- data/crates/itsi_acme/src/resolver.rs +59 -0
- data/crates/itsi_acme/src/state.rs +424 -0
- data/crates/itsi_rb_helpers/src/lib.rs +4 -3
- data/crates/itsi_scheduler/Cargo.toml +1 -1
- data/crates/itsi_scheduler/src/itsi_scheduler.rs +8 -2
- data/crates/itsi_scheduler/src/lib.rs +1 -0
- data/crates/itsi_server/Cargo.toml +1 -1
- data/crates/itsi_server/src/lib.rs +2 -1
- data/crates/itsi_server/src/ruby_types/itsi_http_request.rs +18 -1
- data/crates/itsi_server/src/ruby_types/itsi_server/file_watcher.rs +11 -3
- data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +122 -63
- data/crates/itsi_server/src/ruby_types/itsi_server.rs +2 -0
- data/crates/itsi_server/src/server/binds/bind.rs +3 -0
- data/crates/itsi_server/src/server/binds/listener.rs +12 -5
- data/crates/itsi_server/src/server/binds/tls.rs +13 -5
- data/crates/itsi_server/src/server/middleware_stack/middlewares/allow_list.rs +12 -5
- data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_api_key.rs +8 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_basic.rs +9 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_jwt.rs +48 -43
- data/crates/itsi_server/src/server/middleware_stack/middlewares/cache_control.rs +11 -2
- data/crates/itsi_server/src/server/middleware_stack/middlewares/compression.rs +39 -12
- data/crates/itsi_server/src/server/middleware_stack/middlewares/cors.rs +36 -27
- data/crates/itsi_server/src/server/middleware_stack/middlewares/csp.rs +25 -11
- data/crates/itsi_server/src/server/middleware_stack/middlewares/deny_list.rs +12 -3
- data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +74 -72
- data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +15 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +11 -8
- data/crates/itsi_server/src/server/middleware_stack/middlewares/intrusion_protection.rs +19 -11
- data/crates/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +5 -5
- data/crates/itsi_server/src/server/middleware_stack/middlewares/max_body.rs +2 -2
- data/crates/itsi_server/src/server/middleware_stack/middlewares/mod.rs +11 -5
- data/crates/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +17 -20
- data/crates/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +19 -8
- data/crates/itsi_server/src/server/middleware_stack/middlewares/redirect.rs +16 -37
- data/crates/itsi_server/src/server/middleware_stack/middlewares/request_headers.rs +22 -12
- data/crates/itsi_server/src/server/middleware_stack/middlewares/response_headers.rs +26 -11
- data/crates/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +7 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/string_rewrite.rs +14 -4
- data/crates/itsi_server/src/server/middleware_stack/middlewares/token_source.rs +19 -0
- data/crates/itsi_server/src/server/middleware_stack/mod.rs +49 -13
- data/crates/itsi_server/src/server/mod.rs +1 -0
- data/crates/itsi_server/src/server/redirect_type.rs +26 -0
- data/crates/itsi_server/src/server/serve_strategy/cluster_mode.rs +22 -16
- data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +49 -12
- data/crates/itsi_server/src/server/signal.rs +1 -0
- data/crates/itsi_server/src/server/size_limited_incoming.rs +6 -0
- data/crates/itsi_server/src/server/thread_worker.rs +5 -1
- data/crates/itsi_server/src/services/itsi_http_service.rs +20 -2
- data/crates/itsi_server/src/services/rate_limiter.rs +15 -4
- data/crates/itsi_server/src/services/static_file_server.rs +33 -19
- data/crates/itsi_tracing/src/lib.rs +42 -22
- data/docs/content/_index.md +1 -2
- data/docs/content/acknowledgements/_index.md +5 -2
- data/docs/content/configuration/_index.md +8 -5
- data/docs/content/contact/_index.md +8 -1
- data/docs/content/faqs/_index.md +5 -3
- data/docs/content/features/_index.md +56 -50
- data/docs/content/getting_started/_index.md +8 -5
- data/docs/content/getting_started/local_development.md +68 -8
- data/docs/content/getting_started/logging.md +16 -9
- data/docs/content/getting_started/running_itsi_in_production.md +5 -3
- data/docs/content/getting_started/signals.md +38 -0
- data/docs/content/itsi_scheduler/_index.md +8 -7
- data/docs/content/utilities/_index.md +13 -0
- data/docs/content/utilities/config_file_testing.md +17 -0
- data/docs/content/utilities/passfile_generator.md +41 -0
- data/docs/content/utilities/route_testing.md +27 -0
- data/docs/content/utilities/secrets_management.md +30 -0
- data/docs/hugo.yaml +1 -1
- data/fairytale.txt +3 -4
- data/gems/scheduler/Cargo.lock +1 -1
- data/gems/scheduler/README.md +4 -5
- data/gems/scheduler/Rakefile +0 -4
- data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
- data/gems/scheduler/lib/itsi/scheduler.rb +9 -4
- data/gems/scheduler/test/test_active_record.rb +12 -7
- data/gems/server/Cargo.lock +1 -1
- data/gems/server/Rakefile +0 -4
- data/gems/server/exe/itsi +13 -2
- data/gems/server/lib/itsi/http_request/response_status_shortcodes.rb +2 -0
- data/gems/server/lib/itsi/http_request.rb +40 -9
- data/gems/server/lib/itsi/http_response.rb +2 -1
- data/gems/server/lib/itsi/passfile.rb +0 -1
- data/gems/server/lib/itsi/server/config/config_helpers.rb +20 -8
- data/gems/server/lib/itsi/server/config/dsl.rb +20 -435
- data/gems/server/lib/itsi/server/config/known_paths.rb +4 -1
- data/gems/server/lib/itsi/server/config/middleware/_index.md +6 -4
- data/gems/server/lib/itsi/server/config/middleware/allow_list.md +46 -0
- data/gems/server/lib/itsi/server/config/middleware/allow_list.rb +42 -0
- data/gems/server/lib/itsi/server/config/middleware/auth_api_key.md +90 -0
- data/gems/server/lib/itsi/server/config/middleware/auth_api_key.rb +51 -0
- data/gems/server/lib/itsi/server/config/middleware/auth_basic.md +45 -0
- data/gems/server/lib/itsi/server/config/middleware/auth_basic.rb +44 -0
- data/gems/server/lib/itsi/server/config/middleware/auth_jwt.md +82 -0
- data/gems/server/lib/itsi/server/config/middleware/auth_jwt.rb +38 -0
- data/gems/server/lib/itsi/server/config/middleware/cache_control.md +78 -0
- data/gems/server/lib/itsi/server/config/middleware/cache_control.rb +45 -0
- data/gems/server/lib/itsi/server/config/middleware/cidr_to_regex.rb +50 -0
- data/gems/server/lib/itsi/server/config/middleware/compression.md +50 -0
- data/gems/server/lib/itsi/server/config/middleware/compression.rb +37 -0
- data/gems/server/lib/itsi/server/config/middleware/cors.md +93 -0
- data/gems/server/lib/itsi/server/config/middleware/cors.rb +32 -0
- data/gems/server/lib/itsi/server/config/middleware/csp.md +37 -0
- data/gems/server/lib/itsi/server/config/middleware/csp.rb +44 -0
- data/gems/server/lib/itsi/server/config/middleware/deny_list.md +45 -0
- data/gems/server/lib/itsi/server/config/middleware/deny_list.rb +42 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/_index.md +159 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/controller.md +186 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/controller.rb +33 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/delete.md +12 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/delete.rb +42 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/endpoint.rb +99 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/get.md +12 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/get.rb +42 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/http_request.md +44 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/http_response.md +39 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/patch.md +12 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/patch.rb +42 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/post.md +12 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/post.rb +42 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/put.md +12 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/put.rb +42 -0
- data/gems/server/lib/itsi/server/config/middleware/endpoint/schemas.md +122 -0
- data/gems/server/lib/itsi/server/config/middleware/error_response.md +61 -0
- data/gems/server/lib/itsi/server/config/middleware/error_response.rb +36 -0
- data/gems/server/lib/itsi/server/config/middleware/etag.md +59 -0
- data/gems/server/lib/itsi/server/config/middleware/etag.rb +27 -0
- data/gems/server/lib/itsi/server/config/middleware/grpc.md +172 -0
- data/gems/server/lib/itsi/server/config/middleware/grpc.rb +54 -0
- data/gems/server/lib/itsi/server/config/middleware/intrusion_protection.md +124 -0
- data/gems/server/lib/itsi/server/config/middleware/intrusion_protection.rb +61 -0
- data/gems/server/lib/itsi/server/config/middleware/location.md +107 -0
- data/gems/server/lib/itsi/server/config/middleware/location.rb +99 -0
- data/gems/server/lib/itsi/server/config/middleware/log_requests.md +13 -11
- data/gems/server/lib/itsi/server/config/middleware/log_requests.rb +1 -3
- data/gems/server/lib/itsi/server/config/middleware/max_body.md +18 -0
- data/gems/server/lib/itsi/server/config/middleware/max_body.rb +21 -0
- data/gems/server/lib/itsi/server/config/middleware/proxy.md +62 -0
- data/gems/server/lib/itsi/server/config/middleware/proxy.rb +41 -0
- data/gems/server/lib/itsi/server/config/middleware/rackup_file.md +54 -0
- data/gems/server/lib/itsi/server/config/middleware/rackup_file.rb +44 -0
- data/gems/server/lib/itsi/server/config/middleware/rate_limit.md +126 -0
- data/gems/server/lib/itsi/server/config/middleware/rate_limit.rb +34 -0
- data/gems/server/lib/itsi/server/config/middleware/rate_limit_store.rb +25 -0
- data/gems/server/lib/itsi/server/config/middleware/redirect.md +55 -0
- data/gems/server/lib/itsi/server/config/middleware/redirect.rb +25 -0
- data/gems/server/lib/itsi/server/config/middleware/request_headers.md +34 -0
- data/gems/server/lib/itsi/server/config/middleware/request_headers.rb +24 -0
- data/gems/server/lib/itsi/server/config/middleware/response_headers.md +33 -0
- data/gems/server/lib/itsi/server/config/middleware/response_headers.rb +25 -0
- data/gems/server/lib/itsi/server/config/middleware/run.md +60 -0
- data/gems/server/lib/itsi/server/config/middleware/run.rb +43 -0
- data/gems/server/lib/itsi/server/config/middleware/static_assets.md +73 -0
- data/gems/server/lib/itsi/server/config/middleware/static_assets.rb +87 -0
- data/gems/server/lib/itsi/server/config/middleware/static_response.md +44 -0
- data/gems/server/lib/itsi/server/config/middleware/static_response.rb +29 -0
- data/gems/server/lib/itsi/server/config/middleware/string_rewrite.md +67 -0
- data/gems/server/lib/itsi/server/config/middleware/token_source.rb +32 -0
- data/gems/server/lib/itsi/server/config/middleware.rb +4 -0
- data/gems/server/lib/itsi/server/config/option.rb +5 -0
- data/gems/server/lib/itsi/server/config/options/_index.md +3 -2
- data/gems/server/lib/itsi/server/config/options/auto_reload_config.md +13 -0
- data/gems/server/lib/itsi/server/config/options/auto_reload_config.rb +41 -0
- data/gems/server/lib/itsi/server/config/options/bind.md +71 -0
- data/gems/server/lib/itsi/server/config/options/bind.rb +26 -0
- data/gems/server/lib/itsi/server/config/options/certificates.md +65 -0
- data/gems/server/lib/itsi/server/config/options/daemonize.md +14 -0
- data/gems/server/lib/itsi/server/config/options/daemonize.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/fiber_scheduler.md +1 -2
- data/gems/server/lib/itsi/server/config/options/fiber_scheduler.rb +6 -3
- data/gems/server/lib/itsi/server/config/options/header_read_timeout.md +17 -0
- data/gems/server/lib/itsi/server/config/options/header_read_timeout.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/hooks/_index.md +11 -0
- data/gems/server/lib/itsi/server/config/options/hooks/after_fork.md +13 -0
- data/gems/server/lib/itsi/server/config/options/hooks/after_fork.rb +28 -0
- data/gems/server/lib/itsi/server/config/options/hooks/after_memory_limit_reached.md +14 -0
- data/gems/server/lib/itsi/server/config/options/hooks/after_memory_limit_reached.rb +28 -0
- data/gems/server/lib/itsi/server/config/options/hooks/after_start.md +12 -0
- data/gems/server/lib/itsi/server/config/options/hooks/after_start.rb +28 -0
- data/gems/server/lib/itsi/server/config/options/hooks/before_fork.md +13 -0
- data/gems/server/lib/itsi/server/config/options/hooks/before_fork.rb +28 -0
- data/gems/server/lib/itsi/server/config/options/hooks/before_restart.md +12 -0
- data/gems/server/lib/itsi/server/config/options/hooks/before_restart.rb +28 -0
- data/gems/server/lib/itsi/server/config/options/hooks/before_shutdown.md +12 -0
- data/gems/server/lib/itsi/server/config/options/hooks/before_shutdown.rb +28 -0
- data/gems/server/lib/itsi/server/config/options/include.md +20 -0
- data/gems/server/lib/itsi/server/config/options/include.rb +36 -0
- data/gems/server/lib/itsi/server/config/options/listen_backlog.md +11 -0
- data/gems/server/lib/itsi/server/config/options/listen_backlog.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/log_format.md +18 -0
- data/gems/server/lib/itsi/server/config/options/log_format.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/log_level.md +34 -0
- data/gems/server/lib/itsi/server/config/options/log_level.rb +20 -0
- data/gems/server/lib/itsi/server/config/options/log_target.md +38 -0
- data/gems/server/lib/itsi/server/config/options/log_target.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/log_target_filters.md +17 -0
- data/gems/server/lib/itsi/server/config/options/log_target_filters.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/multithreaded_reactor.md +27 -0
- data/gems/server/lib/itsi/server/config/options/multithreaded_reactor.rb +24 -0
- data/gems/server/lib/itsi/server/config/options/nodelay.md +16 -0
- data/gems/server/lib/itsi/server/config/options/nodelay.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/oob_gc_responses_threshold.md +19 -0
- data/gems/server/lib/itsi/server/config/options/oob_gc_responses_threshold.rb +18 -0
- data/gems/server/lib/itsi/server/config/options/pin_worker_cores.md +17 -0
- data/gems/server/lib/itsi/server/config/options/pin_worker_cores.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/preload.md +21 -0
- data/gems/server/lib/itsi/server/config/options/preload.rb +18 -0
- data/gems/server/lib/itsi/server/config/options/recv_buffer_size.md +15 -0
- data/gems/server/lib/itsi/server/config/options/recv_buffer_size.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/redirect_http_to_https.md +21 -0
- data/gems/server/lib/itsi/server/config/options/redirect_http_to_https.rb +30 -0
- data/gems/server/lib/itsi/server/config/options/request_timeout.md +23 -0
- data/gems/server/lib/itsi/server/config/options/request_timeout.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/reuse_address.md +16 -0
- data/gems/server/lib/itsi/server/config/options/reuse_address.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/reuse_port.md +16 -0
- data/gems/server/lib/itsi/server/config/options/reuse_port.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/scheduler_threads.md +34 -0
- data/gems/server/lib/itsi/server/config/options/scheduler_threads.rb +17 -0
- data/gems/server/lib/itsi/server/config/options/shutdown_timeout.md +17 -0
- data/gems/server/lib/itsi/server/config/options/shutdown_timeout.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/stream_body.md +32 -0
- data/gems/server/lib/itsi/server/config/options/stream_body.rb +18 -0
- data/gems/server/lib/itsi/server/config/options/threads.md +7 -2
- data/gems/server/lib/itsi/server/config/options/threads.rb +1 -1
- data/gems/server/lib/itsi/server/config/options/watch.md +16 -0
- data/gems/server/lib/itsi/server/config/options/watch.rb +28 -0
- data/gems/server/lib/itsi/server/config/options/worker_memory_limit.md +22 -0
- data/gems/server/lib/itsi/server/config/options/worker_memory_limit.rb +18 -0
- data/gems/server/lib/itsi/server/config/options/workers.md +1 -2
- data/gems/server/lib/itsi/server/config/options/workers.rb +1 -1
- data/gems/server/lib/itsi/server/config/typed_struct.rb +59 -20
- data/gems/server/lib/itsi/server/config.rb +77 -48
- data/gems/server/lib/itsi/server/default_config/Itsi.rb +3 -3
- data/gems/server/lib/itsi/server/grpc/grpc_call.rb +1 -1
- data/gems/server/lib/itsi/server/grpc/grpc_interface.rb +11 -4
- data/gems/server/lib/itsi/server/rack/handler/itsi.rb +3 -3
- data/gems/server/lib/itsi/server/route_tester.rb +58 -8
- data/gems/server/lib/itsi/server/signal_trap.rb +1 -1
- data/gems/server/lib/itsi/server/typed_handlers/param_parser.rb +14 -18
- data/gems/server/lib/itsi/server/typed_handlers/source_parser.rb +5 -4
- data/gems/server/lib/itsi/server/typed_handlers.rb +12 -4
- data/gems/server/lib/itsi/server/version.rb +1 -1
- data/gems/server/lib/itsi/server.rb +98 -14
- data/gems/server/lib/ruby_lsp/itsi/addon.rb +20 -18
- data/gems/server/test/helpers/test_helper.rb +89 -29
- data/gems/server/test/middleware/allow_list.rb +128 -0
- data/gems/server/test/middleware/auth_api_key.rb +141 -0
- data/gems/server/test/middleware/auth_basic.rb +91 -0
- data/gems/server/test/middleware/auth_jwt.rb +214 -0
- data/gems/server/test/middleware/cache_control.rb +82 -0
- data/gems/server/test/middleware/cidr_to_regex.rb +46 -0
- data/gems/server/test/middleware/compression.rb +89 -0
- data/gems/server/test/middleware/cors.rb +113 -0
- data/gems/server/test/middleware/csp.rb +62 -0
- data/gems/server/test/middleware/deny_list.rb +131 -0
- data/gems/server/test/middleware/endpoint.rb +300 -0
- data/gems/server/test/middleware/etag.rb +75 -0
- data/gems/server/test/middleware/grpc/grpc.rb +158 -0
- data/gems/server/test/middleware/grpc/test_service.proto +32 -0
- data/gems/server/test/middleware/grpc/test_service_impl.rb +28 -0
- data/gems/server/test/middleware/grpc/test_service_pb.rb +18 -0
- data/gems/server/test/middleware/grpc/test_service_services_pb.rb +30 -0
- data/gems/server/test/middleware/header_interpolation.rb +35 -0
- data/gems/server/test/middleware/intrusion_protection.rb +259 -0
- data/gems/server/test/middleware/location.rb +220 -0
- data/gems/server/test/middleware/max_body.rb +20 -0
- data/gems/server/test/middleware/proxy.rb +415 -0
- data/gems/server/test/middleware/rate_limit.rb +211 -0
- data/gems/server/test/middleware/redirect.rb +85 -0
- data/gems/server/test/middleware/request_headers.rb +50 -0
- data/gems/server/test/middleware/response_headers.rb +50 -0
- data/gems/server/test/middleware/static_assets.rb +374 -0
- data/gems/server/test/middleware/static_response.rb +56 -0
- data/gems/server/test/middleware/string_rewrite.rb +112 -0
- data/gems/server/test/options/bind.rb +47 -0
- data/gems/server/test/options/header_read_timeout.rb +23 -0
- data/gems/server/test/options/test_request_timeout.rb +16 -0
- data/gems/server/test/options/test_workers.rb +2 -4
- data/gems/server/test/{test_itsi_server.rb → rack/test_rack_server.rb} +2 -2
- data/grpc_test/Itsi.rb +11 -0
- data/grpc_test/echo.proto +14 -0
- data/grpc_test/echo_pb.rb +16 -0
- data/grpc_test/echo_service_impl.rb +8 -0
- data/grpc_test/echo_services_pb.rb +22 -0
- data/lib/itsi/version.rb +1 -1
- data/tasks.txt +15 -72
- metadata +210 -7
- data/gems/server/lib/itsi/server/default_config/Itsi-rackup.rb +0 -119
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative "../helpers/test_helper"
|
2
|
+
|
3
|
+
class TestHeaderReadTimeout < Minitest::Test
|
4
|
+
def test_header_timeout_enforced
|
5
|
+
server(
|
6
|
+
itsi_rb: lambda do
|
7
|
+
header_read_timeout 0.1
|
8
|
+
get("/") { |r| r.ok "hi" }
|
9
|
+
end
|
10
|
+
) do
|
11
|
+
socket = TCPSocket.new("127.0.0.1", @uri.port)
|
12
|
+
socket.write("GET / HTTP/1.1\r\nHost: localhost\r\n") # don’t send \r\n\r\n
|
13
|
+
|
14
|
+
sleep 0.2 # exceed header timeout
|
15
|
+
socket.write("\r\n\r\n")
|
16
|
+
response = socket.read
|
17
|
+
rescue StandardError => e
|
18
|
+
assert_equal e.class, Errno::ECONNRESET
|
19
|
+
ensure
|
20
|
+
socket&.close
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative "../helpers/test_helper"
|
2
|
+
|
3
|
+
class TestRequestTimeout < Minitest::Test
|
4
|
+
def test_request_timeout_applies
|
5
|
+
server(
|
6
|
+
itsi_rb: lambda do
|
7
|
+
workers 3
|
8
|
+
request_timeout 0.1
|
9
|
+
get("/") { |r| sleep 0.2; r.ok "late" }
|
10
|
+
end
|
11
|
+
) do
|
12
|
+
res = get_resp("/")
|
13
|
+
assert_equal "504", res.code
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -3,16 +3,14 @@ require_relative "../helpers/test_helper"
|
|
3
3
|
class TestWorkers < Minitest::Test
|
4
4
|
|
5
5
|
def test_it_can_run_multiple_workers
|
6
|
-
worker_count =
|
6
|
+
worker_count = 3
|
7
7
|
|
8
8
|
server(
|
9
9
|
itsi_rb: lambda do
|
10
|
-
|
11
10
|
workers worker_count
|
12
11
|
get("/foo"){|r| r.ok Process.pid}
|
13
|
-
|
14
12
|
end) do
|
15
|
-
assert_equal worker_count,
|
13
|
+
assert_equal worker_count, 50.times.map { |i| get("/foo") }.uniq.size
|
16
14
|
end
|
17
15
|
end
|
18
16
|
end
|
data/grpc_test/Itsi.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require "grpc"
|
2
|
+
require_relative 'echo_service_impl'
|
3
|
+
|
4
|
+
bind "http://localhost:3000"
|
5
|
+
|
6
|
+
grpc EchoServiceImpl.new,
|
7
|
+
nonblocking: false,
|
8
|
+
compression: 'gzip' do
|
9
|
+
# Nested middleware still works:
|
10
|
+
response_headers additions: { 'X-Service' => ['Echo'] }
|
11
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# source: echo.proto
|
4
|
+
|
5
|
+
require 'google/protobuf'
|
6
|
+
|
7
|
+
|
8
|
+
descriptor_data = "\n\necho.proto\x12\x04\x65\x63ho\"\x1e\n\x0b\x45\x63hoRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"\x1f\n\x0c\x45\x63hoResponse\x12\x0f\n\x07message\x18\x01 \x01(\t2<\n\x0b\x45\x63hoService\x12-\n\x04\x45\x63ho\x12\x11.echo.EchoRequest\x1a\x12.echo.EchoResponseb\x06proto3"
|
9
|
+
|
10
|
+
pool = Google::Protobuf::DescriptorPool.generated_pool
|
11
|
+
pool.add_serialized_file(descriptor_data)
|
12
|
+
|
13
|
+
module Echo
|
14
|
+
EchoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("echo.EchoRequest").msgclass
|
15
|
+
EchoResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("echo.EchoResponse").msgclass
|
16
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# Source: echo.proto for package 'echo'
|
3
|
+
|
4
|
+
require 'grpc'
|
5
|
+
require_relative 'echo_pb'
|
6
|
+
|
7
|
+
module Echo
|
8
|
+
module EchoService
|
9
|
+
class Service
|
10
|
+
|
11
|
+
include ::GRPC::GenericService
|
12
|
+
|
13
|
+
self.marshal_class_method = :encode
|
14
|
+
self.unmarshal_class_method = :decode
|
15
|
+
self.service_name = 'echo.EchoService'
|
16
|
+
|
17
|
+
rpc :Echo, ::Echo::EchoRequest, ::Echo::EchoResponse
|
18
|
+
end
|
19
|
+
|
20
|
+
Stub = Service.rpc_stub_class
|
21
|
+
end
|
22
|
+
end
|
data/lib/itsi/version.rb
CHANGED
data/tasks.txt
CHANGED
@@ -1,80 +1,23 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
--- Debug logging
|
5
|
-
--- Ultra robust config, with sane and safe defaults.
|
6
|
-
--- Complete Documentation (Readme + Blog)
|
7
|
-
--- Nice middleware printing
|
8
|
-
--- Tests.
|
9
|
-
--- Targetable Debug Logging
|
10
|
-
--- Good default config value
|
11
|
-
|
12
|
-
- Go on unwrap hunt
|
13
|
-
|
14
|
-
|
15
|
-
Fill in Changelog.md date
|
16
|
-
Retest in live environment
|
17
|
-
- Add examples
|
18
|
-
*maybe* leave service running on live server to verify let's encrypt renewals.
|
19
|
-
|
20
|
-
- Feature List:
|
21
|
-
-- HTTP
|
22
|
-
-- HTTP2
|
23
|
-
-- TLS
|
24
|
-
-- Websockets
|
25
|
-
-- Headers (Replace is equal to remove plus append)
|
26
|
-
-- Hijack
|
27
|
-
-- Callable
|
28
|
-
-- Streaming Bodies
|
29
|
-
-- Rate Limiter
|
30
|
-
-- Auth JWT/Basic/API
|
31
|
-
-- gRPC Server (Plug in existing Ruby gRPC handlers)
|
32
|
-
-- File Watcher and auto-reloading
|
33
|
-
-- Allow/Deny lists
|
34
|
-
-- Cache control
|
35
|
-
-- compression
|
36
|
-
-- CORS
|
37
|
-
-- CSP Reporting
|
38
|
-
-- etag
|
39
|
-
-- Intrusion Protection
|
40
|
-
-- Proxy
|
41
|
-
-- Header changes (also support append, replace, remove)
|
42
|
-
-- Endpoint
|
43
|
-
-- Rackup
|
44
|
-
-- Rack inline
|
45
|
-
-- Static assets
|
46
|
-
-- Redirect (HTTP to HTTPS!)
|
47
|
-
-- Logging
|
48
|
-
-- Cluster
|
49
|
-
-- Single
|
50
|
-
-- Graceful and Hot Restart
|
51
|
-
-- Streaming body
|
52
|
-
-- Unix Sockets
|
53
|
-
-- Support for running high-performance mini-apps, written and served directly from the singular Itsi.rb configuration file.
|
54
|
-
-- Well documented complete with LSP support.
|
55
|
-
-- Author Final default Itsi-file
|
56
|
-
-- Add notes on: PGGSSENCMODE="disable" and OBJC_DISABLE_INITIALIZE_FORK_SAFETY=
|
57
|
-
|
58
|
-
Later:
|
1
|
+
Tasks:
|
2
|
+
- Static ruby build
|
3
|
+
- Add way to opt non Itsi.rb files into LSP
|
59
4
|
- OTel
|
60
5
|
- Even faster Hash creation for Rack
|
61
6
|
- Image resizer
|
62
7
|
- First class Rackless Websockets
|
63
8
|
- Print out warning if we can detect that a location block will never be hit.
|
64
9
|
- Built in obs Dashboard + Stats
|
65
|
-
- Support UDP
|
66
|
-
- Support unix socket proxy
|
67
10
|
- WASM pluggable middleware
|
11
|
+
- Support UDP Proxy
|
12
|
+
- Support Unix Socket Proxy
|
68
13
|
- gRPC proxying
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
-
|
74
|
-
- Finish
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
- Fix Hang
|
80
|
-
- Introduce Socket Options
|
14
|
+
- HTTP-01 Autocert
|
15
|
+
- H3
|
16
|
+
- OpenAPI gen
|
17
|
+
- Finish Single acceptor mode (Optional)
|
18
|
+
- Introduce Option
|
19
|
+
- Finish Unix implementation
|
20
|
+
- Very single worker shutdown (impact)
|
21
|
+
- Clean shutdown and restart while in single acceptor mode
|
22
|
+
- Fix Hang
|
23
|
+
- Introduce Socket Options
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itsi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wouter Coppieters
|
@@ -15,28 +15,28 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 0.
|
18
|
+
version: 0.2.2
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - "~>"
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 0.
|
25
|
+
version: 0.2.2
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: itsi-server
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
30
|
- - "~>"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.
|
32
|
+
version: 0.2.2
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.
|
39
|
+
version: 0.2.2
|
40
40
|
description: Wrapper Gem for both the Itsi server and the Itsi Fiber scheduler
|
41
41
|
email:
|
42
42
|
- wc@pico.net.nz
|
@@ -47,8 +47,35 @@ files:
|
|
47
47
|
- CHANGELOG.md
|
48
48
|
- Cargo.lock
|
49
49
|
- Cargo.toml
|
50
|
+
- LICENSE.txt
|
50
51
|
- README.md
|
51
52
|
- Rakefile
|
53
|
+
- crates/itsi_acme/.gitignore
|
54
|
+
- crates/itsi_acme/Cargo.toml
|
55
|
+
- crates/itsi_acme/LICENSE-APACHE
|
56
|
+
- crates/itsi_acme/LICENSE-MIT
|
57
|
+
- crates/itsi_acme/README.md
|
58
|
+
- crates/itsi_acme/examples/high_level.rs
|
59
|
+
- crates/itsi_acme/examples/high_level_warp.rs
|
60
|
+
- crates/itsi_acme/examples/low_level.rs
|
61
|
+
- crates/itsi_acme/examples/low_level_axum.rs
|
62
|
+
- crates/itsi_acme/src/acceptor.rs
|
63
|
+
- crates/itsi_acme/src/acme.rs
|
64
|
+
- crates/itsi_acme/src/axum.rs
|
65
|
+
- crates/itsi_acme/src/cache.rs
|
66
|
+
- crates/itsi_acme/src/caches/boxed.rs
|
67
|
+
- crates/itsi_acme/src/caches/composite.rs
|
68
|
+
- crates/itsi_acme/src/caches/dir.rs
|
69
|
+
- crates/itsi_acme/src/caches/mod.rs
|
70
|
+
- crates/itsi_acme/src/caches/no.rs
|
71
|
+
- crates/itsi_acme/src/caches/test.rs
|
72
|
+
- crates/itsi_acme/src/config.rs
|
73
|
+
- crates/itsi_acme/src/https_helper.rs
|
74
|
+
- crates/itsi_acme/src/incoming.rs
|
75
|
+
- crates/itsi_acme/src/jose.rs
|
76
|
+
- crates/itsi_acme/src/lib.rs
|
77
|
+
- crates/itsi_acme/src/resolver.rs
|
78
|
+
- crates/itsi_acme/src/state.rs
|
52
79
|
- crates/itsi_error/Cargo.lock
|
53
80
|
- crates/itsi_error/Cargo.toml
|
54
81
|
- crates/itsi_error/src/lib.rs
|
@@ -142,6 +169,7 @@ files:
|
|
142
169
|
- crates/itsi_server/src/server/middleware_stack/mod.rs
|
143
170
|
- crates/itsi_server/src/server/mod.rs
|
144
171
|
- crates/itsi_server/src/server/process_worker.rs
|
172
|
+
- crates/itsi_server/src/server/redirect_type.rs
|
145
173
|
- crates/itsi_server/src/server/request_job.rs
|
146
174
|
- crates/itsi_server/src/server/serve_strategy/cluster_mode.rs
|
147
175
|
- crates/itsi_server/src/server/serve_strategy/mod.rs
|
@@ -172,11 +200,17 @@ files:
|
|
172
200
|
- docs/content/getting_started/local_development.md
|
173
201
|
- docs/content/getting_started/logging.md
|
174
202
|
- docs/content/getting_started/running_itsi_in_production.md
|
203
|
+
- docs/content/getting_started/signals.md
|
175
204
|
- docs/content/itsi-server-100.png
|
176
205
|
- docs/content/itsi_scheduler/_index.md
|
177
206
|
- docs/content/itsi_scheduler/itsi-scheduler-100.png
|
178
207
|
- docs/content/ruby-lsp.png
|
179
208
|
- docs/content/ruby.svg
|
209
|
+
- docs/content/utilities/_index.md
|
210
|
+
- docs/content/utilities/config_file_testing.md
|
211
|
+
- docs/content/utilities/passfile_generator.md
|
212
|
+
- docs/content/utilities/route_testing.md
|
213
|
+
- docs/content/utilities/secrets_management.md
|
180
214
|
- docs/data/icons.yaml
|
181
215
|
- docs/go.mod
|
182
216
|
- docs/go.sum
|
@@ -329,20 +363,152 @@ files:
|
|
329
363
|
- gems/server/lib/itsi/server/config/known_paths/wellknown-rfc5785.txt
|
330
364
|
- gems/server/lib/itsi/server/config/middleware.rb
|
331
365
|
- gems/server/lib/itsi/server/config/middleware/_index.md
|
366
|
+
- gems/server/lib/itsi/server/config/middleware/allow_list.md
|
367
|
+
- gems/server/lib/itsi/server/config/middleware/allow_list.rb
|
368
|
+
- gems/server/lib/itsi/server/config/middleware/auth_api_key.md
|
369
|
+
- gems/server/lib/itsi/server/config/middleware/auth_api_key.rb
|
370
|
+
- gems/server/lib/itsi/server/config/middleware/auth_basic.md
|
371
|
+
- gems/server/lib/itsi/server/config/middleware/auth_basic.rb
|
372
|
+
- gems/server/lib/itsi/server/config/middleware/auth_jwt.md
|
373
|
+
- gems/server/lib/itsi/server/config/middleware/auth_jwt.rb
|
374
|
+
- gems/server/lib/itsi/server/config/middleware/cache_control.md
|
375
|
+
- gems/server/lib/itsi/server/config/middleware/cache_control.rb
|
376
|
+
- gems/server/lib/itsi/server/config/middleware/cidr_to_regex.rb
|
377
|
+
- gems/server/lib/itsi/server/config/middleware/compression.md
|
378
|
+
- gems/server/lib/itsi/server/config/middleware/compression.rb
|
379
|
+
- gems/server/lib/itsi/server/config/middleware/cors.md
|
380
|
+
- gems/server/lib/itsi/server/config/middleware/cors.rb
|
381
|
+
- gems/server/lib/itsi/server/config/middleware/csp.md
|
382
|
+
- gems/server/lib/itsi/server/config/middleware/csp.rb
|
383
|
+
- gems/server/lib/itsi/server/config/middleware/deny_list.md
|
384
|
+
- gems/server/lib/itsi/server/config/middleware/deny_list.rb
|
385
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/_index.md
|
386
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/controller.md
|
387
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/controller.rb
|
388
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/delete.md
|
389
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/delete.rb
|
390
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/endpoint.rb
|
391
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/get.md
|
392
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/get.rb
|
393
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/http_request.md
|
394
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/http_response.md
|
395
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/patch.md
|
396
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/patch.rb
|
397
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/post.md
|
398
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/post.rb
|
399
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/put.md
|
400
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/put.rb
|
401
|
+
- gems/server/lib/itsi/server/config/middleware/endpoint/schemas.md
|
402
|
+
- gems/server/lib/itsi/server/config/middleware/error_response.md
|
403
|
+
- gems/server/lib/itsi/server/config/middleware/error_response.rb
|
404
|
+
- gems/server/lib/itsi/server/config/middleware/etag.md
|
405
|
+
- gems/server/lib/itsi/server/config/middleware/etag.rb
|
406
|
+
- gems/server/lib/itsi/server/config/middleware/grpc.md
|
407
|
+
- gems/server/lib/itsi/server/config/middleware/grpc.rb
|
408
|
+
- gems/server/lib/itsi/server/config/middleware/intrusion_protection.md
|
409
|
+
- gems/server/lib/itsi/server/config/middleware/intrusion_protection.rb
|
410
|
+
- gems/server/lib/itsi/server/config/middleware/location.md
|
411
|
+
- gems/server/lib/itsi/server/config/middleware/location.rb
|
332
412
|
- gems/server/lib/itsi/server/config/middleware/log_requests.md
|
333
413
|
- gems/server/lib/itsi/server/config/middleware/log_requests.rb
|
414
|
+
- gems/server/lib/itsi/server/config/middleware/max_body.md
|
415
|
+
- gems/server/lib/itsi/server/config/middleware/max_body.rb
|
416
|
+
- gems/server/lib/itsi/server/config/middleware/proxy.md
|
417
|
+
- gems/server/lib/itsi/server/config/middleware/proxy.rb
|
418
|
+
- gems/server/lib/itsi/server/config/middleware/rackup_file.md
|
419
|
+
- gems/server/lib/itsi/server/config/middleware/rackup_file.rb
|
420
|
+
- gems/server/lib/itsi/server/config/middleware/rate_limit.md
|
421
|
+
- gems/server/lib/itsi/server/config/middleware/rate_limit.rb
|
422
|
+
- gems/server/lib/itsi/server/config/middleware/rate_limit_store.rb
|
423
|
+
- gems/server/lib/itsi/server/config/middleware/redirect.md
|
424
|
+
- gems/server/lib/itsi/server/config/middleware/redirect.rb
|
425
|
+
- gems/server/lib/itsi/server/config/middleware/request_headers.md
|
426
|
+
- gems/server/lib/itsi/server/config/middleware/request_headers.rb
|
427
|
+
- gems/server/lib/itsi/server/config/middleware/response_headers.md
|
428
|
+
- gems/server/lib/itsi/server/config/middleware/response_headers.rb
|
429
|
+
- gems/server/lib/itsi/server/config/middleware/run.md
|
430
|
+
- gems/server/lib/itsi/server/config/middleware/run.rb
|
431
|
+
- gems/server/lib/itsi/server/config/middleware/static_assets.md
|
432
|
+
- gems/server/lib/itsi/server/config/middleware/static_assets.rb
|
433
|
+
- gems/server/lib/itsi/server/config/middleware/static_response.md
|
434
|
+
- gems/server/lib/itsi/server/config/middleware/static_response.rb
|
435
|
+
- gems/server/lib/itsi/server/config/middleware/string_rewrite.md
|
436
|
+
- gems/server/lib/itsi/server/config/middleware/token_source.rb
|
334
437
|
- gems/server/lib/itsi/server/config/option.rb
|
335
438
|
- gems/server/lib/itsi/server/config/options/_index.md
|
439
|
+
- gems/server/lib/itsi/server/config/options/auto_reload_config.md
|
440
|
+
- gems/server/lib/itsi/server/config/options/auto_reload_config.rb
|
441
|
+
- gems/server/lib/itsi/server/config/options/bind.md
|
442
|
+
- gems/server/lib/itsi/server/config/options/bind.rb
|
443
|
+
- gems/server/lib/itsi/server/config/options/certificates.md
|
444
|
+
- gems/server/lib/itsi/server/config/options/daemonize.md
|
445
|
+
- gems/server/lib/itsi/server/config/options/daemonize.rb
|
336
446
|
- gems/server/lib/itsi/server/config/options/fiber_scheduler.md
|
337
447
|
- gems/server/lib/itsi/server/config/options/fiber_scheduler.rb
|
448
|
+
- gems/server/lib/itsi/server/config/options/header_read_timeout.md
|
449
|
+
- gems/server/lib/itsi/server/config/options/header_read_timeout.rb
|
450
|
+
- gems/server/lib/itsi/server/config/options/hooks/_index.md
|
451
|
+
- gems/server/lib/itsi/server/config/options/hooks/after_fork.md
|
452
|
+
- gems/server/lib/itsi/server/config/options/hooks/after_fork.rb
|
453
|
+
- gems/server/lib/itsi/server/config/options/hooks/after_memory_limit_reached.md
|
454
|
+
- gems/server/lib/itsi/server/config/options/hooks/after_memory_limit_reached.rb
|
455
|
+
- gems/server/lib/itsi/server/config/options/hooks/after_start.md
|
456
|
+
- gems/server/lib/itsi/server/config/options/hooks/after_start.rb
|
457
|
+
- gems/server/lib/itsi/server/config/options/hooks/before_fork.md
|
458
|
+
- gems/server/lib/itsi/server/config/options/hooks/before_fork.rb
|
459
|
+
- gems/server/lib/itsi/server/config/options/hooks/before_restart.md
|
460
|
+
- gems/server/lib/itsi/server/config/options/hooks/before_restart.rb
|
461
|
+
- gems/server/lib/itsi/server/config/options/hooks/before_shutdown.md
|
462
|
+
- gems/server/lib/itsi/server/config/options/hooks/before_shutdown.rb
|
463
|
+
- gems/server/lib/itsi/server/config/options/include.md
|
464
|
+
- gems/server/lib/itsi/server/config/options/include.rb
|
465
|
+
- gems/server/lib/itsi/server/config/options/listen_backlog.md
|
466
|
+
- gems/server/lib/itsi/server/config/options/listen_backlog.rb
|
467
|
+
- gems/server/lib/itsi/server/config/options/log_format.md
|
468
|
+
- gems/server/lib/itsi/server/config/options/log_format.rb
|
469
|
+
- gems/server/lib/itsi/server/config/options/log_level.md
|
470
|
+
- gems/server/lib/itsi/server/config/options/log_level.rb
|
471
|
+
- gems/server/lib/itsi/server/config/options/log_target.md
|
472
|
+
- gems/server/lib/itsi/server/config/options/log_target.rb
|
473
|
+
- gems/server/lib/itsi/server/config/options/log_target_filters.md
|
474
|
+
- gems/server/lib/itsi/server/config/options/log_target_filters.rb
|
475
|
+
- gems/server/lib/itsi/server/config/options/multithreaded_reactor.md
|
476
|
+
- gems/server/lib/itsi/server/config/options/multithreaded_reactor.rb
|
477
|
+
- gems/server/lib/itsi/server/config/options/nodelay.md
|
478
|
+
- gems/server/lib/itsi/server/config/options/nodelay.rb
|
479
|
+
- gems/server/lib/itsi/server/config/options/oob_gc_responses_threshold.md
|
480
|
+
- gems/server/lib/itsi/server/config/options/oob_gc_responses_threshold.rb
|
481
|
+
- gems/server/lib/itsi/server/config/options/pin_worker_cores.md
|
482
|
+
- gems/server/lib/itsi/server/config/options/pin_worker_cores.rb
|
483
|
+
- gems/server/lib/itsi/server/config/options/preload.md
|
484
|
+
- gems/server/lib/itsi/server/config/options/preload.rb
|
485
|
+
- gems/server/lib/itsi/server/config/options/recv_buffer_size.md
|
486
|
+
- gems/server/lib/itsi/server/config/options/recv_buffer_size.rb
|
487
|
+
- gems/server/lib/itsi/server/config/options/redirect_http_to_https.md
|
488
|
+
- gems/server/lib/itsi/server/config/options/redirect_http_to_https.rb
|
489
|
+
- gems/server/lib/itsi/server/config/options/request_timeout.md
|
490
|
+
- gems/server/lib/itsi/server/config/options/request_timeout.rb
|
491
|
+
- gems/server/lib/itsi/server/config/options/reuse_address.md
|
492
|
+
- gems/server/lib/itsi/server/config/options/reuse_address.rb
|
493
|
+
- gems/server/lib/itsi/server/config/options/reuse_port.md
|
494
|
+
- gems/server/lib/itsi/server/config/options/reuse_port.rb
|
495
|
+
- gems/server/lib/itsi/server/config/options/scheduler_threads.md
|
496
|
+
- gems/server/lib/itsi/server/config/options/scheduler_threads.rb
|
497
|
+
- gems/server/lib/itsi/server/config/options/shutdown_timeout.md
|
498
|
+
- gems/server/lib/itsi/server/config/options/shutdown_timeout.rb
|
499
|
+
- gems/server/lib/itsi/server/config/options/stream_body.md
|
500
|
+
- gems/server/lib/itsi/server/config/options/stream_body.rb
|
338
501
|
- gems/server/lib/itsi/server/config/options/threads.md
|
339
502
|
- gems/server/lib/itsi/server/config/options/threads.rb
|
503
|
+
- gems/server/lib/itsi/server/config/options/watch.md
|
504
|
+
- gems/server/lib/itsi/server/config/options/watch.rb
|
505
|
+
- gems/server/lib/itsi/server/config/options/worker_memory_limit.md
|
506
|
+
- gems/server/lib/itsi/server/config/options/worker_memory_limit.rb
|
340
507
|
- gems/server/lib/itsi/server/config/options/workers.md
|
341
508
|
- gems/server/lib/itsi/server/config/options/workers.rb
|
342
509
|
- gems/server/lib/itsi/server/config/typed_struct.rb
|
343
510
|
- gems/server/lib/itsi/server/default_app/default_app.rb
|
344
511
|
- gems/server/lib/itsi/server/default_app/index.html
|
345
|
-
- gems/server/lib/itsi/server/default_config/Itsi-rackup.rb
|
346
512
|
- gems/server/lib/itsi/server/default_config/Itsi.rb
|
347
513
|
- gems/server/lib/itsi/server/grpc/grpc_call.rb
|
348
514
|
- gems/server/lib/itsi/server/grpc/grpc_interface.rb
|
@@ -363,10 +529,47 @@ files:
|
|
363
529
|
- gems/server/lib/shell_completions/completions.rb
|
364
530
|
- gems/server/sig/itsi_server.rbs
|
365
531
|
- gems/server/test/helpers/test_helper.rb
|
532
|
+
- gems/server/test/middleware/allow_list.rb
|
533
|
+
- gems/server/test/middleware/auth_api_key.rb
|
534
|
+
- gems/server/test/middleware/auth_basic.rb
|
535
|
+
- gems/server/test/middleware/auth_jwt.rb
|
536
|
+
- gems/server/test/middleware/cache_control.rb
|
537
|
+
- gems/server/test/middleware/cidr_to_regex.rb
|
538
|
+
- gems/server/test/middleware/compression.rb
|
539
|
+
- gems/server/test/middleware/cors.rb
|
540
|
+
- gems/server/test/middleware/csp.rb
|
541
|
+
- gems/server/test/middleware/deny_list.rb
|
542
|
+
- gems/server/test/middleware/endpoint.rb
|
543
|
+
- gems/server/test/middleware/etag.rb
|
544
|
+
- gems/server/test/middleware/grpc/grpc.rb
|
545
|
+
- gems/server/test/middleware/grpc/test_service.proto
|
546
|
+
- gems/server/test/middleware/grpc/test_service_impl.rb
|
547
|
+
- gems/server/test/middleware/grpc/test_service_pb.rb
|
548
|
+
- gems/server/test/middleware/grpc/test_service_services_pb.rb
|
549
|
+
- gems/server/test/middleware/header_interpolation.rb
|
550
|
+
- gems/server/test/middleware/intrusion_protection.rb
|
551
|
+
- gems/server/test/middleware/location.rb
|
552
|
+
- gems/server/test/middleware/max_body.rb
|
553
|
+
- gems/server/test/middleware/proxy.rb
|
554
|
+
- gems/server/test/middleware/rate_limit.rb
|
555
|
+
- gems/server/test/middleware/redirect.rb
|
556
|
+
- gems/server/test/middleware/request_headers.rb
|
557
|
+
- gems/server/test/middleware/response_headers.rb
|
558
|
+
- gems/server/test/middleware/static_assets.rb
|
559
|
+
- gems/server/test/middleware/static_response.rb
|
560
|
+
- gems/server/test/middleware/string_rewrite.rb
|
366
561
|
- gems/server/test/middleware/test_log_requests.rb
|
562
|
+
- gems/server/test/options/bind.rb
|
563
|
+
- gems/server/test/options/header_read_timeout.rb
|
564
|
+
- gems/server/test/options/test_request_timeout.rb
|
367
565
|
- gems/server/test/options/test_threads.rb
|
368
566
|
- gems/server/test/options/test_workers.rb
|
369
|
-
- gems/server/test/
|
567
|
+
- gems/server/test/rack/test_rack_server.rb
|
568
|
+
- grpc_test/Itsi.rb
|
569
|
+
- grpc_test/echo.proto
|
570
|
+
- grpc_test/echo_pb.rb
|
571
|
+
- grpc_test/echo_service_impl.rb
|
572
|
+
- grpc_test/echo_services_pb.rb
|
370
573
|
- itsi-scheduler-100.png
|
371
574
|
- itsi-server-100.png
|
372
575
|
- lib/itsi.rb
|