jets 5.0.17 → 6.0.0.beta1

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.
Files changed (769) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -19
  3. data/Gemfile +4 -0
  4. data/README.md +19 -165
  5. data/Rakefile +3 -3
  6. data/exe/jets +2 -1
  7. data/jets.gemspec +15 -22
  8. data/lib/jets/api/agree.rb +62 -0
  9. data/lib/jets/api/base.rb +8 -0
  10. data/lib/jets/api/client.rb +246 -0
  11. data/lib/jets/api/config.rb +73 -0
  12. data/lib/jets/api/error.rb +70 -0
  13. data/lib/jets/api/ping.rb +9 -0
  14. data/lib/jets/api/project.rb +9 -0
  15. data/lib/jets/api/release.rb +17 -0
  16. data/lib/jets/api/response.rb +27 -0
  17. data/lib/jets/api/sig.rb +13 -0
  18. data/lib/jets/api/stack.rb +14 -0
  19. data/lib/jets/api.rb +17 -0
  20. data/lib/jets/autoloaders/gem.rb +47 -58
  21. data/lib/jets/autoloaders/main.rb +64 -0
  22. data/lib/jets/autoloaders.rb +14 -43
  23. data/lib/jets/aws_services/aws_helpers.rb +17 -0
  24. data/lib/jets/{aws_info.rb → aws_services/aws_info.rb} +24 -17
  25. data/lib/jets/aws_services/global_memoist.rb +9 -4
  26. data/lib/jets/aws_services/s3_bucket.rb +8 -10
  27. data/lib/jets/aws_services/stack_status.rb +5 -31
  28. data/lib/jets/aws_services.rb +36 -17
  29. data/lib/jets/bundle.rb +9 -7
  30. data/lib/jets/cfn/base.rb +16 -5
  31. data/lib/jets/cfn/bootstrap.rb +13 -0
  32. data/lib/jets/cfn/builder/interface.rb +22 -31
  33. data/lib/jets/cfn/builder/parent/genesis.rb +84 -0
  34. data/lib/jets/cfn/builder/post_process.rb +3 -3
  35. data/lib/jets/cfn/delete.rb +17 -0
  36. data/lib/jets/cfn/deploy.rb +151 -0
  37. data/lib/jets/cfn/iam/managed_policy.rb +21 -0
  38. data/lib/jets/cfn/iam/policy.rb +121 -0
  39. data/lib/jets/cfn/resource/associated.rb +1 -1
  40. data/lib/jets/cfn/resource/codebuild/fleet.rb +48 -0
  41. data/lib/jets/cfn/resource/codebuild/iam_role.rb +63 -0
  42. data/lib/jets/cfn/resource/codebuild/project/base.rb +4 -0
  43. data/lib/jets/cfn/resource/codebuild/project/ec2.rb +125 -0
  44. data/lib/jets/cfn/resource/codebuild/project/env.rb +55 -0
  45. data/lib/jets/cfn/resource/codebuild/project/format_env.rb +35 -0
  46. data/lib/jets/cfn/resource/codebuild/project/lambda.rb +15 -0
  47. data/lib/jets/cfn/resource/replacer.rb +5 -5
  48. data/lib/jets/cfn/resource/s3/bucket.rb +3 -3
  49. data/lib/jets/cfn/resource/s3/jets_bucket.rb +9 -18
  50. data/lib/jets/cfn/resource/standardizer.rb +11 -9
  51. data/lib/jets/cfn/rollback.rb +8 -0
  52. data/lib/jets/cfn/stack/deployable.rb +16 -0
  53. data/lib/jets/cfn/stack/rollback.rb +59 -0
  54. data/lib/jets/cfn/stack/template.rb +47 -0
  55. data/lib/jets/cfn/stack/yamler.rb +53 -0
  56. data/lib/jets/cfn/stack.rb +24 -0
  57. data/lib/jets/cfn/status.rb +41 -6
  58. data/lib/jets/cfn/teardown/bucket.rb +79 -0
  59. data/lib/jets/cfn/teardown.rb +20 -0
  60. data/lib/jets/cli/base.rb +46 -0
  61. data/lib/jets/cli/bootstrap.rb +17 -0
  62. data/lib/jets/cli/build.rb +8 -0
  63. data/lib/jets/cli/call.rb +133 -0
  64. data/lib/jets/cli/ci/base.rb +54 -0
  65. data/lib/jets/cli/ci/build.rb +8 -0
  66. data/lib/jets/cli/ci/delete.rb +25 -0
  67. data/lib/jets/cli/ci/deploy.rb +17 -0
  68. data/lib/jets/cli/ci/info.rb +40 -0
  69. data/lib/jets/cli/ci/init.rb +97 -0
  70. data/lib/jets/cli/ci/logs.rb +10 -0
  71. data/lib/jets/cli/ci/start.rb +121 -0
  72. data/lib/jets/cli/ci/status.rb +29 -0
  73. data/lib/jets/cli/ci/stop.rb +24 -0
  74. data/lib/jets/cli/ci/tailer.rb +17 -0
  75. data/lib/jets/cli/ci/templates/ci.rb.tt +19 -0
  76. data/lib/jets/cli/ci.rb +55 -0
  77. data/lib/jets/cli/clean.rb +10 -0
  78. data/lib/jets/cli/concurrency/base.rb +17 -0
  79. data/lib/jets/cli/concurrency/get.rb +37 -0
  80. data/lib/jets/cli/concurrency/info.rb +86 -0
  81. data/lib/jets/cli/concurrency/set.rb +31 -0
  82. data/lib/jets/cli/concurrency/unset.rb +21 -0
  83. data/lib/jets/cli/concurrency.rb +33 -0
  84. data/lib/jets/cli/curl/adapter/base.rb +8 -0
  85. data/lib/jets/cli/curl/adapter/cookies/jar.rb +28 -0
  86. data/lib/jets/cli/curl/adapter/cookies/parser.rb +48 -0
  87. data/lib/jets/cli/curl/adapter/lambda.rb +142 -0
  88. data/lib/jets/cli/curl/request.rb +62 -0
  89. data/lib/jets/cli/curl.rb +9 -0
  90. data/lib/jets/cli/delete.rb +23 -0
  91. data/lib/jets/cli/deploy.rb +18 -0
  92. data/lib/jets/cli/dotenv/base.rb +4 -0
  93. data/lib/jets/cli/dotenv/get.rb +14 -0
  94. data/lib/jets/cli/dotenv/list.rb +32 -0
  95. data/lib/jets/cli/dotenv/set.rb +50 -0
  96. data/lib/jets/cli/dotenv/ssm.rb +60 -0
  97. data/lib/jets/cli/dotenv/unset.rb +11 -0
  98. data/lib/jets/cli/dotenv.rb +28 -0
  99. data/lib/jets/cli/env/base.rb +13 -0
  100. data/lib/jets/cli/env/get.rb +13 -0
  101. data/lib/jets/cli/env/list.rb +19 -0
  102. data/lib/jets/cli/env/parse.rb +11 -0
  103. data/lib/jets/cli/env/set.rb +25 -0
  104. data/lib/jets/cli/env/unset.rb +17 -0
  105. data/lib/jets/cli/env.rb +29 -0
  106. data/lib/jets/cli/exec/command.rb +61 -0
  107. data/lib/jets/cli/exec/repl/history.rb +42 -0
  108. data/lib/jets/cli/exec/repl.rb +122 -0
  109. data/lib/jets/cli/exec.rb +14 -0
  110. data/lib/jets/cli/functions.rb +39 -0
  111. data/lib/jets/cli/generate/event.rb +29 -0
  112. data/lib/jets/cli/generate/templates/application_event.rb.tt +6 -0
  113. data/lib/jets/cli/generate/templates/event_types/application_event.rb +4 -0
  114. data/lib/jets/cli/generate/templates/event_types/dynamodb.rb.tt +6 -0
  115. data/lib/jets/cli/generate/templates/event_types/iot.rb.tt +6 -0
  116. data/lib/jets/{generators/job → cli/generate}/templates/event_types/kinesis.rb.tt +2 -4
  117. data/lib/jets/{generators/job → cli/generate}/templates/event_types/log.rb.tt +2 -4
  118. data/lib/jets/{generators/job → cli/generate}/templates/event_types/rule.rb.tt +2 -4
  119. data/lib/jets/cli/generate/templates/event_types/s3.rb.tt +13 -0
  120. data/lib/jets/cli/generate/templates/event_types/scheduled.rb.tt +6 -0
  121. data/lib/jets/cli/generate/templates/event_types/sns.rb.tt +8 -0
  122. data/lib/jets/cli/generate/templates/event_types/sqs.rb.tt +9 -0
  123. data/lib/jets/cli/generate.rb +6 -0
  124. data/lib/jets/cli/group/actions.rb +57 -0
  125. data/lib/jets/cli/group/base.rb +12 -0
  126. data/lib/jets/cli/group/helpers.rb +26 -0
  127. data/lib/jets/cli/help/build.md +1 -0
  128. data/lib/jets/cli/help/call.md +28 -0
  129. data/lib/jets/cli/help/curl.md +82 -0
  130. data/lib/jets/{command → cli}/help/delete.md +4 -4
  131. data/lib/jets/cli/help/deploy.md +5 -0
  132. data/lib/jets/cli/help/dotenv/get.md +4 -0
  133. data/lib/jets/cli/help/dotenv/list.md +5 -0
  134. data/lib/jets/cli/help/dotenv/set.md +25 -0
  135. data/lib/jets/cli/help/dotenv/unset.md +12 -0
  136. data/lib/jets/cli/help/exec.md +53 -0
  137. data/lib/jets/cli/help/generate/event.md +11 -0
  138. data/lib/jets/{command → cli}/help/logs.md +2 -2
  139. data/lib/jets/{command/help/releases.md → cli/help/release/history.md} +3 -3
  140. data/lib/jets/cli/help/rollback.md +5 -0
  141. data/lib/jets/cli/help/schedule/validate.md +1 -0
  142. data/lib/jets/{command → cli}/help/status.md +1 -1
  143. data/lib/jets/cli/help.rb +16 -0
  144. data/lib/jets/cli/init/detect.rb +30 -0
  145. data/lib/jets/cli/init/templates/config/jets/bootstrap.rb.tt +16 -0
  146. data/lib/jets/cli/init/templates/config/jets/deploy.rb.tt +43 -0
  147. data/lib/jets/cli/init/templates/config/jets/project.rb.tt +3 -0
  148. data/lib/jets/cli/init/templates/env/.env.tt +18 -0
  149. data/lib/jets/cli/init.rb +66 -0
  150. data/lib/jets/cli/lambda/checks.rb +22 -0
  151. data/lib/jets/cli/lambda/function.rb +104 -0
  152. data/lib/jets/cli/lambda/functions.rb +10 -0
  153. data/lib/jets/cli/lambda/lookup.rb +68 -0
  154. data/lib/jets/cli/login.rb +7 -0
  155. data/lib/jets/cli/logout.rb +7 -0
  156. data/lib/jets/cli/logs.rb +40 -0
  157. data/lib/jets/cli/maintenance/base.rb +15 -0
  158. data/lib/jets/cli/maintenance/mode.rb +44 -0
  159. data/lib/jets/cli/maintenance/web.rb +31 -0
  160. data/lib/jets/cli/maintenance/worker/base.rb +22 -0
  161. data/lib/jets/cli/maintenance/worker/restorer.rb +19 -0
  162. data/lib/jets/cli/maintenance/worker/saver.rb +15 -0
  163. data/lib/jets/cli/maintenance/worker/zeroer.rb +19 -0
  164. data/lib/jets/cli/maintenance/worker.rb +31 -0
  165. data/lib/jets/cli/maintenance.rb +32 -0
  166. data/lib/jets/cli/package/dockerfile.rb +9 -0
  167. data/lib/jets/cli/package.rb +8 -0
  168. data/lib/jets/cli/ping.rb +10 -0
  169. data/lib/jets/cli/projects.rb +22 -0
  170. data/lib/jets/cli/release/base.rb +4 -0
  171. data/lib/jets/cli/release/history.rb +68 -0
  172. data/lib/jets/cli/release/info.rb +59 -0
  173. data/lib/jets/cli/release/rollback.rb +15 -0
  174. data/lib/jets/cli/release.rb +23 -0
  175. data/lib/jets/cli/schedule/base.rb +5 -0
  176. data/lib/jets/cli/schedule/translate.rb +168 -0
  177. data/lib/jets/cli/schedule/validate.rb +95 -0
  178. data/lib/jets/cli/schedule.rb +15 -0
  179. data/lib/jets/cli/stacks.rb +33 -0
  180. data/lib/jets/cli/stop.rb +31 -0
  181. data/lib/jets/cli/teardown.rb +8 -0
  182. data/lib/jets/cli/tip.rb +86 -0
  183. data/lib/jets/cli/url.rb +41 -0
  184. data/lib/jets/cli/waf/base.rb +7 -0
  185. data/lib/jets/cli/waf/build.rb +8 -0
  186. data/lib/jets/cli/waf/delete.rb +17 -0
  187. data/lib/jets/cli/waf/deploy.rb +17 -0
  188. data/lib/jets/cli/waf/info.rb +128 -0
  189. data/lib/jets/cli/waf/init.rb +40 -0
  190. data/lib/jets/cli/waf/templates/waf.rb.tt +26 -0
  191. data/lib/jets/cli/waf.rb +38 -0
  192. data/lib/jets/cli.rb +180 -28
  193. data/lib/jets/code/copy/base.rb +84 -0
  194. data/lib/jets/code/copy/full.rb +9 -0
  195. data/lib/jets/code/copy/git_copy.rb +26 -0
  196. data/lib/jets/code/copy/git_inline.rb +13 -0
  197. data/lib/jets/code/copy/rsync.rb +19 -0
  198. data/lib/jets/code/dummy.rb +11 -0
  199. data/lib/jets/code/stager.rb +124 -0
  200. data/lib/jets/code/user.rb +24 -0
  201. data/lib/jets/code.rb +80 -0
  202. data/lib/jets/core/booter.rb +58 -0
  203. data/lib/jets/core/config/base.rb +17 -0
  204. data/lib/jets/core/config/bootstrap/cfn.rb +12 -0
  205. data/lib/jets/core/config/bootstrap/code.rb +16 -0
  206. data/lib/jets/core/config/bootstrap/codebuild.rb +97 -0
  207. data/lib/jets/core/config/bootstrap/s3_bucket.rb +19 -0
  208. data/lib/jets/core/config/bootstrap.rb +24 -0
  209. data/lib/jets/core/config/helpers/ssm.rb +9 -0
  210. data/lib/jets/core/config/helpers.rb +5 -0
  211. data/lib/jets/core/config/info.rb +27 -0
  212. data/lib/jets/core/config/project.rb +103 -0
  213. data/lib/jets/core.rb +26 -202
  214. data/lib/jets/core_ext/bundler.rb +6 -4
  215. data/lib/jets/core_ext.rb +0 -1
  216. data/lib/jets/dotenv/convention.rb +86 -0
  217. data/lib/jets/dotenv/ssm.rb +61 -38
  218. data/lib/jets/dotenv/var.rb +60 -0
  219. data/lib/jets/dotenv.rb +55 -50
  220. data/lib/jets/event/base.rb +55 -0
  221. data/lib/jets/event/dsl/dynamodb_event.rb +8 -0
  222. data/lib/jets/event/dsl/iot_event.rb +17 -0
  223. data/lib/jets/event/dsl/kinesis_event.rb +8 -0
  224. data/lib/jets/event/dsl/log_event.rb +8 -0
  225. data/lib/jets/event/dsl/rate_expression.rb +27 -0
  226. data/lib/jets/event/dsl/s3_event.rb +7 -0
  227. data/lib/jets/event/dsl/scheduled_event.rb +53 -0
  228. data/lib/jets/event/dsl/sns_event.rb +8 -0
  229. data/lib/jets/event/dsl/sqs_event.rb +8 -0
  230. data/lib/jets/{job → event}/dsl.rb +7 -12
  231. data/lib/jets/{job → event}/helpers/kinesis_event.rb +2 -2
  232. data/lib/jets/{job → event}/helpers/log_event.rb +5 -5
  233. data/lib/jets/event/helpers/s3_event.rb +76 -0
  234. data/lib/jets/event/helpers/sns_event.rb +16 -0
  235. data/lib/jets/event/helpers/sqs_event.rb +23 -0
  236. data/lib/jets/event/s3.rb +21 -0
  237. data/lib/jets/git/azure.rb +64 -0
  238. data/lib/jets/git/base.rb +26 -0
  239. data/lib/jets/git/bitbucket.rb +30 -0
  240. data/lib/jets/git/circleci.rb +23 -0
  241. data/lib/jets/git/codebuild.rb +49 -0
  242. data/lib/jets/git/custom.rb +32 -0
  243. data/lib/jets/git/git_cli.rb +28 -0
  244. data/lib/jets/git/github.rb +48 -0
  245. data/lib/jets/git/gitlab.rb +30 -0
  246. data/lib/jets/git/info.rb +39 -0
  247. data/lib/jets/git/local.rb +69 -0
  248. data/lib/jets/git/saved.rb +16 -0
  249. data/lib/jets/git/user.rb +33 -0
  250. data/lib/jets/git.rb +5 -0
  251. data/lib/jets/lambda/definition.rb +22 -16
  252. data/lib/jets/lambda/dsl.rb +394 -394
  253. data/lib/jets/lambda/function_constructor.rb +1 -2
  254. data/lib/jets/lambda/functions.rb +10 -25
  255. data/lib/jets/names.rb +5 -17
  256. data/lib/jets/prewarm.rb +27 -0
  257. data/lib/jets/rdoc.rb +2 -2
  258. data/lib/jets/remote/base.rb +11 -0
  259. data/lib/jets/remote/download.rb +65 -0
  260. data/lib/jets/remote/runner.rb +101 -0
  261. data/lib/jets/remote/tailer.rb +272 -0
  262. data/lib/jets/shim/adapter/alb.rb +16 -0
  263. data/lib/jets/shim/adapter/apigw.rb +37 -0
  264. data/lib/jets/shim/adapter/base.rb +16 -0
  265. data/lib/jets/shim/adapter/command.rb +21 -0
  266. data/lib/jets/shim/adapter/event.rb +27 -0
  267. data/lib/jets/shim/adapter/fallback.rb +64 -0
  268. data/lib/jets/shim/adapter/lambda.rb +35 -0
  269. data/lib/jets/shim/adapter/prewarm.rb +27 -0
  270. data/lib/jets/shim/adapter/web.rb +145 -0
  271. data/lib/jets/shim/config.rb +71 -0
  272. data/lib/jets/shim/handler.rb +60 -0
  273. data/lib/jets/shim/maintenance/maintenance.html +45 -0
  274. data/lib/jets/shim/maintenance.rb +37 -0
  275. data/lib/jets/shim/response/alb.rb +10 -0
  276. data/lib/jets/shim/response/apigw.rb +4 -0
  277. data/lib/jets/shim/response/base.rb +124 -0
  278. data/lib/jets/shim/response/lambda.rb +4 -0
  279. data/lib/jets/shim/response/web.rb +4 -0
  280. data/lib/jets/shim.rb +46 -0
  281. data/lib/jets/stack/{main/dsl → dsl/main}/base.rb +2 -23
  282. data/lib/jets/stack/dsl/main/cloudwatch.rb +6 -0
  283. data/lib/jets/stack/dsl/main/iam.rb +6 -0
  284. data/lib/jets/stack/dsl/main/kinesis.rb +6 -0
  285. data/lib/jets/stack/dsl/main/lambda.rb +39 -0
  286. data/lib/jets/stack/dsl/main/s3.rb +9 -0
  287. data/lib/jets/stack/dsl/main/sns.rb +12 -0
  288. data/lib/jets/stack/dsl/main/sqs.rb +6 -0
  289. data/lib/jets/stack/dsl/main.rb +15 -0
  290. data/lib/jets/stack/dsl/output.rb +11 -0
  291. data/lib/jets/stack/dsl/parameter.rb +11 -0
  292. data/lib/jets/stack/dsl/resource.rb +11 -0
  293. data/lib/jets/stack/dsl.rb +10 -0
  294. data/lib/jets/stack/{output/lookup.rb → outputs.rb} +7 -6
  295. data/lib/jets/stack.rb +11 -58
  296. data/lib/jets/thor/auth.rb +96 -0
  297. data/lib/jets/thor/base.rb +155 -0
  298. data/lib/jets/thor/help.rb +129 -0
  299. data/lib/jets/thor/project_check.rb +50 -0
  300. data/lib/jets/thor/shared_options.rb +31 -0
  301. data/lib/jets/thor/version_check.rb +51 -0
  302. data/lib/jets/util/call_line.rb +9 -0
  303. data/lib/jets/util/camelize.rb +1 -1
  304. data/lib/jets/util/git.rb +11 -0
  305. data/lib/jets/util/logging.rb +16 -0
  306. data/lib/jets/util/pretty.rb +23 -0
  307. data/lib/jets/util/sh.rb +38 -0
  308. data/lib/jets/util/sure.rb +25 -0
  309. data/lib/jets/util/truthy.rb +9 -0
  310. data/lib/jets/util/yamler.rb +3 -5
  311. data/lib/jets/version.rb +1 -1
  312. data/lib/jets.rb +4 -8
  313. metadata +339 -604
  314. data/.circleci/config.yml +0 -92
  315. data/.cody/README.md +0 -13
  316. data/.cody/docs/bin/build.sh +0 -7
  317. data/.cody/docs/bin/bundler_setup.sh +0 -8
  318. data/.cody/docs/bin/cli_docs.sh +0 -6
  319. data/.cody/docs/bin/git_commit.sh +0 -27
  320. data/.cody/docs/bin/git_setup.sh +0 -12
  321. data/.cody/docs/bin/subnav.sh +0 -14
  322. data/.cody/docs/buildspec.yml +0 -10
  323. data/.cody/docs/project.rb +0 -10
  324. data/Dockerfile +0 -16
  325. data/Dockerfile.base +0 -53
  326. data/Guardfile +0 -22
  327. data/Procfile +0 -2
  328. data/engines/internal/app/controllers/jets/application_controller.rb +0 -28
  329. data/engines/internal/app/controllers/jets/bare_controller.rb +0 -6
  330. data/engines/internal/app/controllers/jets/health_controller.rb +0 -55
  331. data/engines/internal/app/controllers/jets/info_controller.rb +0 -45
  332. data/engines/internal/app/controllers/jets/mailers_controller.rb +0 -95
  333. data/engines/internal/app/controllers/jets/mount_controller.rb +0 -59
  334. data/engines/internal/app/controllers/jets/public_controller.rb +0 -35
  335. data/engines/internal/app/controllers/jets/welcome_controller.rb +0 -9
  336. data/engines/internal/app/functions/jets/base_path.rb +0 -109
  337. data/engines/internal/app/functions/jets/base_path_mapping.rb +0 -191
  338. data/engines/internal/app/jobs/jets/preheat_job.rb +0 -64
  339. data/engines/internal/app/shared/functions/jets/s3_bucket_config.rb +0 -33
  340. data/engines/internal/app/views/jets/info/properties.html.erb +0 -1
  341. data/engines/internal/app/views/jets/info/routes.html.erb +0 -10
  342. data/engines/internal/app/views/jets/mailers/email.html.erb +0 -165
  343. data/engines/internal/app/views/jets/mailers/index.html.erb +0 -8
  344. data/engines/internal/app/views/jets/mailers/mailer.html.erb +0 -6
  345. data/engines/internal/app/views/jets/welcome/index.html.erb +0 -95
  346. data/engines/internal/app/views/layouts/application.html.erb +0 -51
  347. data/engines/internal/lib/internal/actiondispatch.rb +0 -39
  348. data/engines/internal/lib/internal/actionmailer.rb +0 -51
  349. data/engines/internal/lib/internal/actionview.rb +0 -152
  350. data/engines/internal/lib/internal/activerecord.rb +0 -37
  351. data/engines/internal/lib/internal/activesupport.rb +0 -47
  352. data/engines/internal/lib/internal/engine.rb +0 -13
  353. data/engines/internal/lib/internal/i18n_engine.rb +0 -19
  354. data/engines/internal/lib/internal/jets_controller.rb +0 -46
  355. data/engines/internal/lib/internal/overrides/debug_exceptions.rb +0 -40
  356. data/engines/internal/lib/internal/templates/rescues/_trace.html.erb +0 -62
  357. data/engines/internal/lib/internal/templates/rescues/_trace.text.erb +0 -9
  358. data/engines/internal/lib/internal/turbines/asset_tag_helper.rb +0 -70
  359. data/engines/internal/lib/internal/turbines/helpers.rb +0 -18
  360. data/engines/internal/lib/internal/turbines/routes_helpers.rb +0 -42
  361. data/lib/jets/app_loader.rb +0 -77
  362. data/lib/jets/application/bootstrap.rb +0 -100
  363. data/lib/jets/application/configuration/defaults.rb +0 -256
  364. data/lib/jets/application/configuration.rb +0 -494
  365. data/lib/jets/application/default_middleware_stack.rb +0 -140
  366. data/lib/jets/application/dummy_erb_compiler.rb +0 -18
  367. data/lib/jets/application/finisher.rb +0 -266
  368. data/lib/jets/application/routes_reloader.rb +0 -80
  369. data/lib/jets/application.rb +0 -556
  370. data/lib/jets/authorizer/base.rb +0 -37
  371. data/lib/jets/authorizer/dsl.rb +0 -73
  372. data/lib/jets/authorizer/helpers/iam_helper.rb +0 -49
  373. data/lib/jets/autoloaders/inflector.rb +0 -21
  374. data/lib/jets/backtrace_cleaner.rb +0 -27
  375. data/lib/jets/booter.rb +0 -78
  376. data/lib/jets/builders/code_builder.rb +0 -359
  377. data/lib/jets/builders/code_size.rb +0 -58
  378. data/lib/jets/builders/gem_replacer.rb +0 -83
  379. data/lib/jets/builders/handler_generator.rb +0 -214
  380. data/lib/jets/builders/lambda_layer.rb +0 -63
  381. data/lib/jets/builders/md5.rb +0 -60
  382. data/lib/jets/builders/md5_zip.rb +0 -61
  383. data/lib/jets/builders/purger.rb +0 -35
  384. data/lib/jets/builders/rack_packager.rb +0 -51
  385. data/lib/jets/builders/rackup_wrappers/rackup +0 -19
  386. data/lib/jets/builders/rackup_wrappers/rackup.rb +0 -7
  387. data/lib/jets/builders/ruby_packager.rb +0 -288
  388. data/lib/jets/builders/shim_vars/app.rb +0 -82
  389. data/lib/jets/builders/shim_vars/base.rb +0 -25
  390. data/lib/jets/builders/shim_vars/shared.rb +0 -37
  391. data/lib/jets/builders/templates/handlers/one_lambda_for_all_controllers.rb +0 -33
  392. data/lib/jets/builders/templates/handlers/one_lambda_per_controller.rb +0 -20
  393. data/lib/jets/builders/templates/handlers/one_lambda_per_method.rb +0 -18
  394. data/lib/jets/builders/tidy.rb +0 -107
  395. data/lib/jets/builders/util.rb +0 -31
  396. data/lib/jets/cfn/builder/api/base.rb +0 -12
  397. data/lib/jets/cfn/builder/api/deployment.rb +0 -46
  398. data/lib/jets/cfn/builder/api/gateway.rb +0 -106
  399. data/lib/jets/cfn/builder/api/mapping.rb +0 -54
  400. data/lib/jets/cfn/builder/api/methods.rb +0 -72
  401. data/lib/jets/cfn/builder/api/paged.rb +0 -30
  402. data/lib/jets/cfn/builder/api/pages/base.rb +0 -105
  403. data/lib/jets/cfn/builder/api/pages/methods.rb +0 -17
  404. data/lib/jets/cfn/builder/api/pages/page.rb +0 -19
  405. data/lib/jets/cfn/builder/api/pages/resources.rb +0 -21
  406. data/lib/jets/cfn/builder/api/resources.rb +0 -40
  407. data/lib/jets/cfn/builder/authorizer.rb +0 -64
  408. data/lib/jets/cfn/builder/controller.rb +0 -28
  409. data/lib/jets/cfn/builder/function.rb +0 -9
  410. data/lib/jets/cfn/builder/job.rb +0 -10
  411. data/lib/jets/cfn/builder/nested.rb +0 -130
  412. data/lib/jets/cfn/builder/one_controller.rb +0 -53
  413. data/lib/jets/cfn/builder/parent/stagger.rb +0 -34
  414. data/lib/jets/cfn/builder/parent.rb +0 -149
  415. data/lib/jets/cfn/builder/rule.rb +0 -20
  416. data/lib/jets/cfn/builder/shared.rb +0 -15
  417. data/lib/jets/cfn/builder/util/source.rb +0 -21
  418. data/lib/jets/cfn/builder.rb +0 -230
  419. data/lib/jets/cfn/deployment.rb +0 -85
  420. data/lib/jets/cfn/download.rb +0 -39
  421. data/lib/jets/cfn/params/api/base.rb +0 -39
  422. data/lib/jets/cfn/params/api/cors.rb +0 -10
  423. data/lib/jets/cfn/params/api/methods.rb +0 -69
  424. data/lib/jets/cfn/params/api/resources.rb +0 -28
  425. data/lib/jets/cfn/params/common.rb +0 -14
  426. data/lib/jets/cfn/resource/api_gateway/authorizer.rb +0 -82
  427. data/lib/jets/cfn/resource/api_gateway/base_path/function.rb +0 -57
  428. data/lib/jets/cfn/resource/api_gateway/base_path/mapping.rb +0 -45
  429. data/lib/jets/cfn/resource/api_gateway/base_path/role.rb +0 -70
  430. data/lib/jets/cfn/resource/api_gateway/deployment.rb +0 -73
  431. data/lib/jets/cfn/resource/api_gateway/domain_name.rb +0 -65
  432. data/lib/jets/cfn/resource/api_gateway/method/authorization.rb +0 -41
  433. data/lib/jets/cfn/resource/api_gateway/method.rb +0 -92
  434. data/lib/jets/cfn/resource/api_gateway/resource.rb +0 -86
  435. data/lib/jets/cfn/resource/api_gateway/resource_id.rb +0 -25
  436. data/lib/jets/cfn/resource/api_gateway/rest_api/change_detection.rb +0 -10
  437. data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id/message.rb +0 -59
  438. data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id.rb +0 -98
  439. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/base.rb +0 -110
  440. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/media_types.rb +0 -36
  441. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/page.rb +0 -93
  442. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/to.rb +0 -30
  443. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/variable.rb +0 -35
  444. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change.rb +0 -27
  445. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +0 -7
  446. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision.rb +0 -121
  447. data/lib/jets/cfn/resource/api_gateway/rest_api/routes.rb +0 -7
  448. data/lib/jets/cfn/resource/api_gateway/rest_api.rb +0 -74
  449. data/lib/jets/cfn/resource/config/config_rule.rb +0 -74
  450. data/lib/jets/cfn/resource/config/managed_rule.rb +0 -15
  451. data/lib/jets/cfn/resource/events/rule.rb +0 -31
  452. data/lib/jets/cfn/resource/iam/application_role.rb +0 -27
  453. data/lib/jets/cfn/resource/iam/base_role_definition.rb +0 -56
  454. data/lib/jets/cfn/resource/iam/class_role.rb +0 -74
  455. data/lib/jets/cfn/resource/iam/function_role.rb +0 -54
  456. data/lib/jets/cfn/resource/iam/managed_policy.rb +0 -22
  457. data/lib/jets/cfn/resource/iam/policy.rb +0 -31
  458. data/lib/jets/cfn/resource/iam/policy_document.rb +0 -42
  459. data/lib/jets/cfn/resource/iot/topic_rule.rb +0 -34
  460. data/lib/jets/cfn/resource/lambda/event_source_mapping.rb +0 -31
  461. data/lib/jets/cfn/resource/lambda/function/controller.rb +0 -21
  462. data/lib/jets/cfn/resource/lambda/function/environment.rb +0 -64
  463. data/lib/jets/cfn/resource/lambda/function.rb +0 -266
  464. data/lib/jets/cfn/resource/lambda/gem_layer.rb +0 -17
  465. data/lib/jets/cfn/resource/lambda/layer_version.rb +0 -44
  466. data/lib/jets/cfn/resource/lambda/permission.rb +0 -51
  467. data/lib/jets/cfn/resource/logs/subscription_filter.rb +0 -31
  468. data/lib/jets/cfn/resource/nested/api/base.rb +0 -4
  469. data/lib/jets/cfn/resource/nested/api/deployment.rb +0 -53
  470. data/lib/jets/cfn/resource/nested/api/gateway.rb +0 -15
  471. data/lib/jets/cfn/resource/nested/api/mapping.rb +0 -33
  472. data/lib/jets/cfn/resource/nested/api/methods.rb +0 -30
  473. data/lib/jets/cfn/resource/nested/api/page.rb +0 -8
  474. data/lib/jets/cfn/resource/nested/api/resources.rb +0 -22
  475. data/lib/jets/cfn/resource/nested/app_class.rb +0 -116
  476. data/lib/jets/cfn/resource/nested/authorizer.rb +0 -34
  477. data/lib/jets/cfn/resource/nested/base.rb +0 -38
  478. data/lib/jets/cfn/resource/nested/one_controller.rb +0 -48
  479. data/lib/jets/cfn/resource/nested/shared.rb +0 -79
  480. data/lib/jets/cfn/resource/one/function.rb +0 -66
  481. data/lib/jets/cfn/resource/one/permission.rb +0 -17
  482. data/lib/jets/cfn/resource/route53/record_set.rb +0 -98
  483. data/lib/jets/cfn/resource/sns/subscription.rb +0 -29
  484. data/lib/jets/cfn/resource/sns/topic.rb +0 -35
  485. data/lib/jets/cfn/resource/sns/topic_policy.rb +0 -40
  486. data/lib/jets/cfn/resource/sqs/queue.rb +0 -21
  487. data/lib/jets/cfn/ship.rb +0 -192
  488. data/lib/jets/cfn/template.rb +0 -93
  489. data/lib/jets/cfn/upload.rb +0 -163
  490. data/lib/jets/command/actions.rb +0 -49
  491. data/lib/jets/command/api_helpers.rb +0 -42
  492. data/lib/jets/command/aws_helpers.rb +0 -26
  493. data/lib/jets/command/base.rb +0 -209
  494. data/lib/jets/command/behavior.rb +0 -83
  495. data/lib/jets/command/environment_argument.rb +0 -42
  496. data/lib/jets/command/help/build.md +0 -6
  497. data/lib/jets/command/help/call.md +0 -48
  498. data/lib/jets/command/help/clean/build.md +0 -5
  499. data/lib/jets/command/help/clean/log.md +0 -5
  500. data/lib/jets/command/help/console.md +0 -18
  501. data/lib/jets/command/help/db/generate.md +0 -8
  502. data/lib/jets/command/help/dbconsole.md +0 -9
  503. data/lib/jets/command/help/degenerate.md +0 -16
  504. data/lib/jets/command/help/deploy.md +0 -32
  505. data/lib/jets/command/help/gems/check.md +0 -1
  506. data/lib/jets/command/help/generate.md +0 -28
  507. data/lib/jets/command/help/import/rack.md +0 -13
  508. data/lib/jets/command/help/import/rails.md +0 -11
  509. data/lib/jets/command/help/new.md +0 -41
  510. data/lib/jets/command/help/rollback.md +0 -5
  511. data/lib/jets/command/help/routes.md +0 -15
  512. data/lib/jets/command/help/runner.md +0 -40
  513. data/lib/jets/command/help/server.md +0 -15
  514. data/lib/jets/command/help/upgrade.md +0 -7
  515. data/lib/jets/command/help.rb +0 -17
  516. data/lib/jets/command/helpers/editor.rb +0 -35
  517. data/lib/jets/command/rake_decorate.rb +0 -38
  518. data/lib/jets/command.rb +0 -142
  519. data/lib/jets/commands/application/application_command.rb +0 -46
  520. data/lib/jets/commands/build/build_command.rb +0 -33
  521. data/lib/jets/commands/call/anonymous_guesser.rb +0 -96
  522. data/lib/jets/commands/call/autoload_guesser.rb +0 -136
  523. data/lib/jets/commands/call/base_guesser.rb +0 -62
  524. data/lib/jets/commands/call/call_command.rb +0 -27
  525. data/lib/jets/commands/call/caller.rb +0 -184
  526. data/lib/jets/commands/call/guesser.rb +0 -48
  527. data/lib/jets/commands/clean/base.rb +0 -24
  528. data/lib/jets/commands/clean/build.rb +0 -13
  529. data/lib/jets/commands/clean/clean_command.rb +0 -15
  530. data/lib/jets/commands/clean/log.rb +0 -111
  531. data/lib/jets/commands/configure/configure_command.rb +0 -9
  532. data/lib/jets/commands/console/console_command.rb +0 -38
  533. data/lib/jets/commands/credentials/USAGE +0 -103
  534. data/lib/jets/commands/credentials/credentials_command/diffing.rb +0 -51
  535. data/lib/jets/commands/credentials/credentials_command.rb +0 -139
  536. data/lib/jets/commands/db/system/change/change_command.rb +0 -24
  537. data/lib/jets/commands/dbconsole/dbconsole_command.rb +0 -184
  538. data/lib/jets/commands/degenerate/degenerate_command.rb +0 -21
  539. data/lib/jets/commands/delete/delete_command.rb +0 -154
  540. data/lib/jets/commands/deploy/deploy_command.rb +0 -118
  541. data/lib/jets/commands/dev/dev_command.rb +0 -19
  542. data/lib/jets/commands/dotenv/dotenv_command.rb +0 -9
  543. data/lib/jets/commands/encrypted/USAGE +0 -46
  544. data/lib/jets/commands/encrypted/encrypted_command.rb +0 -87
  545. data/lib/jets/commands/gems/gems_command.rb +0 -14
  546. data/lib/jets/commands/generate/generate_command.rb +0 -95
  547. data/lib/jets/commands/help/USAGE +0 -20
  548. data/lib/jets/commands/help/help_command.rb +0 -15
  549. data/lib/jets/commands/initializers/initializers_command.rb +0 -19
  550. data/lib/jets/commands/logs/logs_command.rb +0 -45
  551. data/lib/jets/commands/new/new_command.rb +0 -19
  552. data/lib/jets/commands/notes/notes_command.rb +0 -30
  553. data/lib/jets/commands/plugin/plugin_command.rb +0 -45
  554. data/lib/jets/commands/projects/projects_command.rb +0 -30
  555. data/lib/jets/commands/rake/rake_command.rb +0 -59
  556. data/lib/jets/commands/releases/releases_command.rb +0 -124
  557. data/lib/jets/commands/rollback/rollback_command.rb +0 -33
  558. data/lib/jets/commands/routes/routes_command.rb +0 -19
  559. data/lib/jets/commands/runner/runner_command.rb +0 -60
  560. data/lib/jets/commands/server/server_command.rb +0 -291
  561. data/lib/jets/commands/stacks/stacks_command.rb +0 -39
  562. data/lib/jets/commands/status/status_command.rb +0 -16
  563. data/lib/jets/commands/url/url_command.rb +0 -92
  564. data/lib/jets/commands/version/version_command.rb +0 -11
  565. data/lib/jets/commands.rb +0 -17
  566. data/lib/jets/configuration.rb +0 -166
  567. data/lib/jets/controller/base.rb +0 -117
  568. data/lib/jets/controller/compat/abstract_controller/base.rb +0 -126
  569. data/lib/jets/controller/compat/action_controller/metal.rb +0 -99
  570. data/lib/jets/controller/compat/caching.rb +0 -13
  571. data/lib/jets/controller/compat/future.rb +0 -13
  572. data/lib/jets/controller/compat/route_set.rb +0 -47
  573. data/lib/jets/controller/decorate/apigw_stage.rb +0 -39
  574. data/lib/jets/controller/decorate/authorization.rb +0 -91
  575. data/lib/jets/controller/decorate/logging.rb +0 -90
  576. data/lib/jets/controller/decorate/redirecting.rb +0 -16
  577. data/lib/jets/controller/decorate/url_for.rb +0 -10
  578. data/lib/jets/controller/handler/apigw.rb +0 -93
  579. data/lib/jets/controller/handler.rb +0 -41
  580. data/lib/jets/controller/middleware/main.rb +0 -61
  581. data/lib/jets/controller/middleware/mimic/apigw.rb +0 -140
  582. data/lib/jets/controller/middleware/mimic/lambda_context.rb +0 -44
  583. data/lib/jets/controller/middleware/mimic.rb +0 -105
  584. data/lib/jets/controller/middleware/webpacker_setup.rb +0 -6
  585. data/lib/jets/controller/rack_adapter/action.rb +0 -35
  586. data/lib/jets/controller/rack_adapter/env.rb +0 -145
  587. data/lib/jets/controller/request/compat/params.rb +0 -144
  588. data/lib/jets/controller/request/compat/request.rb +0 -125
  589. data/lib/jets/controller/request.rb +0 -46
  590. data/lib/jets/controller/response/compat/response.rb +0 -67
  591. data/lib/jets/controller/response.rb +0 -144
  592. data/lib/jets/core_ext/kernel.rb +0 -13
  593. data/lib/jets/dev_caching.rb +0 -44
  594. data/lib/jets/dotenv/show.rb +0 -11
  595. data/lib/jets/engine/configuration.rb +0 -96
  596. data/lib/jets/engine/turbines.rb +0 -23
  597. data/lib/jets/engine.rb +0 -380
  598. data/lib/jets/erb.rb +0 -51
  599. data/lib/jets/generators/job/job_generator.rb +0 -41
  600. data/lib/jets/generators/job/templates/application_job.rb.tt +0 -6
  601. data/lib/jets/generators/job/templates/event_types/dynamodb.rb.tt +0 -8
  602. data/lib/jets/generators/job/templates/event_types/iot.rb.tt +0 -8
  603. data/lib/jets/generators/job/templates/event_types/s3.rb.tt +0 -11
  604. data/lib/jets/generators/job/templates/event_types/scheduled.rb.tt +0 -8
  605. data/lib/jets/generators/job/templates/event_types/sns.rb.tt +0 -11
  606. data/lib/jets/generators/job/templates/event_types/sqs.rb.tt +0 -11
  607. data/lib/jets/generators/overrides/app/USAGE +0 -38
  608. data/lib/jets/generators/overrides/app/app_generator.rb +0 -148
  609. data/lib/jets/generators/overrides/app/helpers.rb +0 -139
  610. data/lib/jets/generators/overrides/app/templates/.env +0 -10
  611. data/lib/jets/generators/overrides/app/templates/.gitignore.tt +0 -13
  612. data/lib/jets/generators/overrides/app/templates/.jetsignore +0 -6
  613. data/lib/jets/generators/overrides/app/templates/.rspec +0 -3
  614. data/lib/jets/generators/overrides/app/templates/Gemfile.tt +0 -28
  615. data/lib/jets/generators/overrides/app/templates/README.md +0 -11
  616. data/lib/jets/generators/overrides/app/templates/Rakefile +0 -2
  617. data/lib/jets/generators/overrides/app/templates/app/assets/config/manifest.js +0 -3
  618. data/lib/jets/generators/overrides/app/templates/app/assets/images/.keep +0 -0
  619. data/lib/jets/generators/overrides/app/templates/app/assets/javascripts/.keep +0 -0
  620. data/lib/jets/generators/overrides/app/templates/app/assets/stylesheets/application.css +0 -15
  621. data/lib/jets/generators/overrides/app/templates/app/controllers/application_controller.rb +0 -2
  622. data/lib/jets/generators/overrides/app/templates/app/helpers/application_helper.rb +0 -2
  623. data/lib/jets/generators/overrides/app/templates/app/javascript/application.js +0 -5
  624. data/lib/jets/generators/overrides/app/templates/app/jobs/application_job.rb +0 -4
  625. data/lib/jets/generators/overrides/app/templates/app/models/application_record.rb +0 -3
  626. data/lib/jets/generators/overrides/app/templates/app/views/layouts/application.html.erb.tt +0 -30
  627. data/lib/jets/generators/overrides/app/templates/bin/jets +0 -3
  628. data/lib/jets/generators/overrides/app/templates/config/application.rb.tt +0 -15
  629. data/lib/jets/generators/overrides/app/templates/config/database.yml.tt +0 -27
  630. data/lib/jets/generators/overrides/app/templates/config/environments/development.rb.tt +0 -29
  631. data/lib/jets/generators/overrides/app/templates/config/environments/production.rb.tt +0 -21
  632. data/lib/jets/generators/overrides/app/templates/config/environments/test.rb.tt +0 -23
  633. data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb +0 -31
  634. data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb +0 -8
  635. data/lib/jets/generators/overrides/app/templates/config/initializers/permissions_policy.rb +0 -11
  636. data/lib/jets/generators/overrides/app/templates/config/routes.rb +0 -13
  637. data/lib/jets/generators/overrides/app/templates/config.ru +0 -5
  638. data/lib/jets/generators/overrides/app/templates/db/.gitkeep +0 -0
  639. data/lib/jets/generators/overrides/app/templates/public/404.html +0 -67
  640. data/lib/jets/generators/overrides/app/templates/public/422.html +0 -67
  641. data/lib/jets/generators/overrides/app/templates/public/500.html +0 -66
  642. data/lib/jets/generators/overrides/app/templates/public/favicon.ico +0 -0
  643. data/lib/jets/generators/overrides/app/templates/spec/controllers/posts_controller_spec.rb +0 -15
  644. data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-index.json +0 -51
  645. data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-show.json +0 -53
  646. data/lib/jets/generators/overrides/app/templates/spec/spec_helper.rb.tt +0 -30
  647. data/lib/jets/generators/overrides/templates/erb/scaffold/_form.html.erb +0 -34
  648. data/lib/jets/generators/overrides/templates/erb/scaffold/edit.html.erb +0 -6
  649. data/lib/jets/generators/overrides/templates/erb/scaffold/index.html.erb +0 -22
  650. data/lib/jets/generators/overrides/templates/erb/scaffold/new.html.erb +0 -5
  651. data/lib/jets/generators/overrides/templates/erb/scaffold/partial.html.erb +0 -8
  652. data/lib/jets/generators/overrides/templates/erb/scaffold/show.html.erb +0 -9
  653. data/lib/jets/generators/overrides/templates/rails/assets/javascript.js +0 -2
  654. data/lib/jets/generators/overrides/templates/rails/assets/stylesheet.css +0 -4
  655. data/lib/jets/generators/overrides/templates/rails/scaffold/scaffold.css +0 -80
  656. data/lib/jets/generators/overrides/templates/rails/scaffold_controller/api_controller.rb.tt +0 -58
  657. data/lib/jets/generators/overrides/templates/rails/scaffold_controller/controller.rb.tt +0 -67
  658. data/lib/jets/generators.rb +0 -112
  659. data/lib/jets/inflections.rb +0 -32
  660. data/lib/jets/info.rb +0 -116
  661. data/lib/jets/initializable.rb +0 -95
  662. data/lib/jets/job/base.rb +0 -52
  663. data/lib/jets/job/dsl/dynamodb_event.rb +0 -78
  664. data/lib/jets/job/dsl/event_source_mapping.rb +0 -11
  665. data/lib/jets/job/dsl/iot_event.rb +0 -24
  666. data/lib/jets/job/dsl/kinesis_event.rb +0 -47
  667. data/lib/jets/job/dsl/log_event.rb +0 -15
  668. data/lib/jets/job/dsl/rule_event.rb +0 -78
  669. data/lib/jets/job/dsl/s3_event.rb +0 -77
  670. data/lib/jets/job/dsl/sns_event.rb +0 -54
  671. data/lib/jets/job/dsl/sqs_event.rb +0 -97
  672. data/lib/jets/job/helpers/s3_event.rb +0 -50
  673. data/lib/jets/job/helpers/sns_event.rb +0 -26
  674. data/lib/jets/job/helpers/sqs_event.rb +0 -26
  675. data/lib/jets/klass.rb +0 -108
  676. data/lib/jets/lambda/dsl/warnings.rb +0 -57
  677. data/lib/jets/mega/hash_converter.rb +0 -25
  678. data/lib/jets/mega/request/source.rb +0 -20
  679. data/lib/jets/mega/request.rb +0 -163
  680. data/lib/jets/overrides/dummy/rails.rb +0 -11
  681. data/lib/jets/overrides/lambda/marshaller.rb +0 -31
  682. data/lib/jets/overrides/lambda.rb +0 -1
  683. data/lib/jets/overrides/puma.rb +0 -10
  684. data/lib/jets/paths.rb +0 -243
  685. data/lib/jets/poly/base_executor.rb +0 -125
  686. data/lib/jets/poly/lambda_executor.rb +0 -16
  687. data/lib/jets/poly/node_error.rb +0 -8
  688. data/lib/jets/poly/node_executor.rb +0 -54
  689. data/lib/jets/poly/python_error.rb +0 -8
  690. data/lib/jets/poly/python_executor.rb +0 -23
  691. data/lib/jets/poly.rb +0 -73
  692. data/lib/jets/preheat.rb +0 -110
  693. data/lib/jets/processors/deducer.rb +0 -65
  694. data/lib/jets/processors/main_processor.rb +0 -54
  695. data/lib/jets/rack/logger.rb +0 -77
  696. data/lib/jets/router/compat/route_set.rb +0 -177
  697. data/lib/jets/router/dsl/mount.rb +0 -47
  698. data/lib/jets/router/dsl.rb +0 -164
  699. data/lib/jets/router/engine_mount.rb +0 -36
  700. data/lib/jets/router/help.rb +0 -130
  701. data/lib/jets/router/helpers/named_routes/add_full_url.rb +0 -13
  702. data/lib/jets/router/helpers/named_routes/generated.rb +0 -197
  703. data/lib/jets/router/helpers/named_routes/proxy.rb +0 -66
  704. data/lib/jets/router/matcher.rb +0 -204
  705. data/lib/jets/router/resources/base.rb +0 -7
  706. data/lib/jets/router/resources/filter.rb +0 -15
  707. data/lib/jets/router/resources/options.rb +0 -15
  708. data/lib/jets/router/route/after_initialize.rb +0 -64
  709. data/lib/jets/router/route/as.rb +0 -93
  710. data/lib/jets/router/route/authorizer.rb +0 -58
  711. data/lib/jets/router/route/compat.rb +0 -45
  712. data/lib/jets/router/route/info.rb +0 -74
  713. data/lib/jets/router/route/node.rb +0 -137
  714. data/lib/jets/router/route/path.rb +0 -93
  715. data/lib/jets/router/route.rb +0 -249
  716. data/lib/jets/router/route_set.rb +0 -214
  717. data/lib/jets/router/scope.rb +0 -230
  718. data/lib/jets/router/state.rb +0 -67
  719. data/lib/jets/router/util.rb +0 -8
  720. data/lib/jets/router.rb +0 -94
  721. data/lib/jets/ruby_version_check.rb +0 -15
  722. data/lib/jets/rule/base.rb +0 -20
  723. data/lib/jets/rule/dsl.rb +0 -109
  724. data/lib/jets/secrets.rb +0 -110
  725. data/lib/jets/spec_helpers/controllers/params.rb +0 -8
  726. data/lib/jets/spec_helpers/controllers/request.rb +0 -107
  727. data/lib/jets/spec_helpers/controllers/response.rb +0 -10
  728. data/lib/jets/spec_helpers/controllers.rb +0 -54
  729. data/lib/jets/spec_helpers/fixtures.rb +0 -11
  730. data/lib/jets/spec_helpers.rb +0 -15
  731. data/lib/jets/stack/builder.rb +0 -44
  732. data/lib/jets/stack/definition.rb +0 -47
  733. data/lib/jets/stack/depends/item.rb +0 -26
  734. data/lib/jets/stack/depends.rb +0 -34
  735. data/lib/jets/stack/function.rb +0 -71
  736. data/lib/jets/stack/main/dsl/cloudwatch.rb +0 -19
  737. data/lib/jets/stack/main/dsl/iam.rb +0 -8
  738. data/lib/jets/stack/main/dsl/kinesis.rb +0 -15
  739. data/lib/jets/stack/main/dsl/lambda.rb +0 -90
  740. data/lib/jets/stack/main/dsl/s3.rb +0 -12
  741. data/lib/jets/stack/main/dsl/sns.rb +0 -16
  742. data/lib/jets/stack/main/dsl/sqs.rb +0 -10
  743. data/lib/jets/stack/main/dsl.rb +0 -17
  744. data/lib/jets/stack/main.rb +0 -4
  745. data/lib/jets/stack/output/dsl.rb +0 -19
  746. data/lib/jets/stack/output.rb +0 -35
  747. data/lib/jets/stack/parameter/dsl.rb +0 -42
  748. data/lib/jets/stack/parameter.rb +0 -37
  749. data/lib/jets/stack/resource/dsl.rb +0 -19
  750. data/lib/jets/stack/resource.rb +0 -31
  751. data/lib/jets/stack/s3_event.rb +0 -101
  752. data/lib/jets/tasks/engine.rake +0 -85
  753. data/lib/jets/tasks/framework.rake +0 -66
  754. data/lib/jets/tasks/log.rake +0 -41
  755. data/lib/jets/tasks/middleware.rake +0 -9
  756. data/lib/jets/tasks/misc.rake +0 -81
  757. data/lib/jets/tasks/statistics.rake +0 -37
  758. data/lib/jets/tasks/tmp.rake +0 -51
  759. data/lib/jets/tasks/yarn.rake +0 -29
  760. data/lib/jets/tasks/zeitwerk.rake +0 -61
  761. data/lib/jets/tasks.rb +0 -18
  762. data/lib/jets/tmp_loader.rb +0 -53
  763. data/lib/jets/turbine/configurable.rb +0 -36
  764. data/lib/jets/turbine/configuration.rb +0 -101
  765. data/lib/jets/turbine.rb +0 -185
  766. data/lib/jets/util.rb +0 -40
  767. /data/lib/jets/{command → cli}/help/projects.md +0 -0
  768. /data/lib/jets/{command → cli}/help/stacks.md +0 -0
  769. /data/lib/jets/{command → cli}/help/url.md +0 -0
@@ -1,105 +0,0 @@
1
- require 'kramdown'
2
-
3
- # Handles mimicing of API Gateway to Lambda function call locally
4
- # Logic in the opposite direction: Jets::Controller::Handler::Apigw#rack_vars
5
- module Jets::Controller::Middleware
6
- class Mimic
7
- extend Memoist
8
-
9
- def initialize(app)
10
- @app = app
11
- end
12
-
13
- def call(env)
14
- matcher = Jets::Router::Matcher.new
15
- route = matcher.find_by_env(env) # simpler version does not check constraints
16
- return not_found(env) unless route
17
-
18
- # Make instance available so we dont not have to pass it around.
19
- # Also important to assign to instance variables so values are memoized in variables
20
- # So the mimic logic work because @env.merge! does not happened
21
- # until end. We do not want apigw.controller to create a new controller instance
22
- # with a different object_id
23
- apigw = Apigw.new(route, env) # takes rack env and converts to API Gateway event structure
24
- @controller = apigw.controller
25
- @meth = apigw.meth
26
- @event = apigw.event
27
- @context = apigw.context
28
-
29
- route = matcher.find_by_request(@controller.request) # need request object to check constraints
30
- return not_found(env) unless route
31
-
32
- if route.to == 'jets/rack#process' # megamode
33
- # Bypass the Jets middlewares since it could interfere with the Rack
34
- # application's middleware stack.
35
- #
36
- # Jets sends back a transfer-encoding=chunked. Curling Jets directly works,
37
- # but passing the Jets response back through this middleware results in errors.
38
- # Disable chunking responses by deleting the transfer-encoding response header.
39
- # Would like to understand why this happens this better, if someone can explain please let me know.
40
- status, headers, body = @controller.dispatch! # jets/rack_controller
41
- headers.delete "transfer-encoding"
42
- [status, headers, body]
43
- elsif route.to == 'jets/mount#call' # mount route
44
- status, headers, body = @controller.dispatch! # jets/mount_controller
45
- [status, headers, body]
46
- elsif polymorphic_function?
47
- run_polymophic_function
48
- else # Normal Jets request
49
- unless on_aws?(env)
50
- # Only set these variables when running locally and not on AWS.
51
- # On AWS, these are set by the Jets::Controller::Handler::Apigw#rack_vars
52
- env.merge!(
53
- 'jets.controller' => @controller, # mimic controller instance
54
- 'jets.context' => @context, # mimic context
55
- 'jets.event' => @event, # mimic event
56
- 'jets.meth' => @meth,
57
- )
58
- end
59
- @app.call(env) # goes to all middleware all the way to Jets::Controller::Middleware::Main
60
- end
61
- end
62
-
63
- # Never hit when calling polymorphic function on AWS Lambda. Can only get called with the local server.
64
- def polymorphic_function?
65
- return false if ENV['_HANDLER'] # slight speed improvement on Lambda
66
- polymorphic_function.definition.lang != :ruby
67
- end
68
-
69
- def polymorphic_function
70
- # Abusing Poly to run polymorphic code, should call LambdaExecutor directly
71
- # after reworking LambdaExecutor so it has a better interface.
72
- Jets::Poly.new(@controller.class, @meth)
73
- end
74
- memoize :polymorphic_function
75
-
76
- def run_polymophic_function
77
- resp = polymorphic_function.run(@event, @meth) # polymorphic code
78
- status = resp['statusCode']
79
- headers = resp['headers']
80
- body = StringIO.new(resp['body'])
81
- [status, headers, body] # triplet
82
- end
83
-
84
- def on_aws?(env)
85
- return true if ENV['ON_AWS']
86
- return false if Jets.env.test? # usually with test we're passing in full API Gateway fixtures with the HTTP_X_AMZN_TRACE_ID
87
- return false if ENV['JETS_ELB'] # If we're using an ELB and Jets is inside a container running jets server, we don't want to pretend we're on AWS.
88
- on_cloud9 = !!(env['HTTP_HOST'] =~ /cloud9\..*\.amazonaws\.com/)
89
- !!env['HTTP_X_AMZN_TRACE_ID'] && !on_cloud9
90
- end
91
-
92
- def routes_error_message(env)
93
- message = "<h2>404 Error: Route #{env['PATH_INFO'].sub('/','')} not found</h2>"
94
- if Jets.env != "production"
95
- message << "<p>Here are the routes defined in your application:</p>"
96
- message << "#{routes_table}"
97
- end
98
- message
99
- end
100
-
101
- def not_found(env)
102
- raise Jets::Controller::RoutingError, "No route matches #{env['PATH_INFO'].inspect}"
103
- end
104
- end
105
- end
@@ -1,6 +0,0 @@
1
- # Breaking all the rules to get the beautiful webpacker middleware working
2
-
3
- require "webpacker"
4
- require "webpacker/dev_server_proxy"
5
-
6
- Webpacker.bootstrap # whenever jets server is runs should Webpacker.bootstrap
@@ -1,35 +0,0 @@
1
- module Jets::Controller::RackAdapter
2
- module Action
3
- extend ActiveSupport::Concern
4
-
5
- class_methods do
6
- def action(name)
7
- lambda do |env|
8
- route = find_first_route_for_action(name)
9
- env['PATH_INFO'] = route_path(route)
10
- controller = new({}, {}, name, env)
11
- controller.dispatch! # does not go through middleware stack
12
- end
13
- end
14
-
15
- # Find first route to be used for PATH_INFO.
16
- # This allows engine_delegate to work properly.
17
- def find_first_route_for_action(name)
18
- Jets::Router.routes.find do |r|
19
- route_controller_path, route_action_name = r.to.split('#')
20
- route_controller_path == controller_path && route_action_name == name.to_s
21
- end
22
- end
23
-
24
- def route_path(route)
25
- if route
26
- path = route.path
27
- path = "/#{path}" unless path.starts_with?('/')
28
- else
29
- path = "/#{controller_path}##{name} (action proc)"
30
- end
31
- path
32
- end
33
- end
34
- end
35
- end
@@ -1,145 +0,0 @@
1
- require 'rack'
2
- require 'base64'
3
-
4
- # Only called by AWS Lambda
5
- # Takes an ApiGateway event and converts it to an Rack env that can be used for rack middleware
6
- module Jets::Controller::RackAdapter
7
- class Env
8
- def initialize(event, context, options={})
9
- @event, @context, @options = event, context, options
10
- end
11
-
12
- def convert
13
- options = {}
14
- options = add_top_level(options)
15
- options = add_http_headers(options)
16
- path = path_with_base_path || @event['path'] || '/' # always set by API Gateway but might not be when testing shim, so setting it to make testing easier
17
-
18
- # In case of non-ascii characters, CGI.escape will escape them
19
- # IE: get '/ほげ'
20
- # This just because MockRequest.env_for uses URI.parse which does not
21
- # escape non-ascii characters and throws an error
22
- unescaped_path = path
23
- path = path.chars.map { |char| char.ascii_only? ? char : CGI.escape(char) }.join
24
- env = Rack::MockRequest.env_for(path, options)
25
- env['PATH_INFO'] = unescaped_path
26
- # env['QUERY_STRING'] = query_string
27
- env
28
- end
29
-
30
- private
31
- def path_with_base_path
32
- resource = @event['resource']
33
- pathParameters = @event['pathParameters']
34
-
35
- if(!pathParameters.nil? and !resource.nil?)
36
- resource = pathParameters.reduce(resource) {|resource, parameter|
37
- key, value = parameter
38
- resource = resource.gsub("{#{key}+}", value)
39
- resource = resource.gsub("{#{key}}", value)
40
- resource
41
- }
42
- end
43
-
44
- resource
45
- end
46
-
47
- def add_top_level(options)
48
- map = {
49
- 'CONTENT_TYPE' => content_type,
50
- 'QUERY_STRING' => query_string,
51
- 'REMOTE_ADDR' => headers['X-Forwarded-For'],
52
- 'REMOTE_HOST' => headers_host,
53
- 'REQUEST_METHOD' => @event['httpMethod'] || 'GET', # useful to default to GET when testing with Lambda console
54
- 'REQUEST_PATH' => @event['path'],
55
- 'REQUEST_URI' => request_uri,
56
- 'SCRIPT_NAME' => "",
57
- 'SERVER_NAME' => headers_host,
58
- 'SERVER_PORT' => headers['X-Forwarded-Port'],
59
- 'SERVER_PROTOCOL' => "HTTP/1.1", # unsure if this should be set
60
- 'SERVER_SOFTWARE' => headers['User-Agent'],
61
- }
62
-
63
- map['CONTENT_LENGTH'] = content_length if content_length
64
- # Even if not set, Rack always assigns an StringIO to "rack.input"
65
- map['rack.input'] = StringIO.new(body) if body
66
-
67
- options.merge(map)
68
- end
69
-
70
- # Generally should use content_type method instead of headers['Content-Type'] because
71
- # headers['Content-Type'] is not normally available for Rails.
72
- #
73
- # Jets makes it available and normalizes the casing by grabbing it from APIGW event['headers']
74
- # APIGW is inconsistent about the casing.
75
- # In POST request it's content-type and in GET request it's Content-Type
76
- #
77
- # Rack (local) uses Content-Type and APIGW (remote) uses content-type
78
- # Rack::MethodOverride relys on content-type to detect content type properly.
79
- #
80
- def content_type
81
- headers['Content-Type'] || headers['content-type']
82
- end
83
-
84
- def content_length
85
- bytesize = body.bytesize.to_s if body
86
- headers['Content-Length'] || bytesize
87
- end
88
-
89
- # Decoding base64 from API Gateaway if necessary
90
- # Rack will be none the wiser
91
- def body
92
- if @event['isBase64Encoded']
93
- Base64.decode64(@event['body'])
94
- else
95
- @event['body']
96
- end
97
- end
98
-
99
- def add_http_headers(options)
100
- headers.each do |k,v|
101
- # content-type => HTTP_CONTENT_TYPE
102
- key = k.gsub('-','_').upcase
103
- key = "HTTP_#{key}"
104
- if k == "Host"
105
- options[key] = headers_host
106
- else
107
- options[key] = v
108
- end
109
- end
110
- options
111
- end
112
-
113
- def headers_host
114
- Jets.config.app.domain || headers['Host']
115
- end
116
-
117
- def request_uri
118
- # IE: "http://localhost:8888/posts/tung/edit?foo=bar"
119
- proto = headers['X-Forwarded-Proto']
120
- host = headers_host
121
- port = headers['X-Forwarded-Port']
122
-
123
- # Add port if needed
124
- if proto == 'https' && port != '443' or
125
- proto == 'http' && port != '80'
126
- host = "#{host}:#{port}"
127
- end
128
-
129
- path = @event['path']
130
- qs = "?#{query_string}" unless query_string.empty?
131
- "#{proto}://#{host}#{path}#{qs}"
132
- end
133
-
134
- def query_string
135
- query = @event["queryStringParameters"] || @event["multiValueQueryStringParameters"] || {} # always set with API Gateway but when testing node shim might not be
136
- Rack::Utils.build_nested_query(query)
137
- # query.map { |k,v| "#{k}=#{v}" }.join('&')
138
- end
139
-
140
- # request headers
141
- def headers
142
- @event['headers'] || {}
143
- end
144
- end
145
- end
@@ -1,144 +0,0 @@
1
- require "action_dispatch/request/utils"
2
- require "rack"
3
-
4
- module Jets::Controller::Request::Compat
5
- # Provides these 3 methods to make it Rails compatible:
6
- #
7
- # request_parameters
8
- # query_parameters
9
- # path_parameters
10
- #
11
- module Params
12
- extend Memoist
13
-
14
- delegate :normalize_encode_params, to: ActionDispatch::Request::Utils
15
- def set_binary_encoding(params)
16
- controller = path_parameters[:controller]
17
- action = path_parameters[:action]
18
- ActionDispatch::Request::Utils.set_binary_encoding(self, params, controller, action)
19
- end
20
-
21
- # Merge all the parameters together for convenience.
22
- # Users still have access via events.
23
- #
24
- # Precedence:
25
- # 1. path parameters have highest precdence
26
- # 2. query string parameters
27
- # 3. body parameters
28
- def parameters(include_path_params: true, include_body_params: true)
29
- params = {}
30
- params = params.deep_merge(request_parameters) if include_body_params
31
- params = params.deep_merge(unescape_recursively(query_parameters)) # always
32
- params = params.deep_merge(path_parameters) if include_path_params
33
- params = set_binary_encoding(params)
34
- params = normalize_encode_params(params)
35
- params
36
- end
37
- memoize :parameters
38
- alias params parameters
39
-
40
- def path_parameters
41
- path_params = event["pathParameters"] || {}
42
- path_params.merge!(path_parameters_defaults)
43
- path_params = path_params.map { |k, path| [k, CGI.unescape(path.to_s)] }.to_h
44
- end
45
-
46
- def path_parameters_defaults
47
- route = Jets::Router::Matcher.new.find_by_request(self)
48
- if route
49
- controller = route.controller_name.delete_suffix("Controller").underscore
50
- {
51
- controller: controller,
52
- action: route.action_name,
53
- }.merge(route.resolved_defaults)
54
- else
55
- {}
56
- end
57
- end
58
-
59
- # Based on ActionDispatch::Request#GET https://bit.ly/48hvDwe
60
- # Override Rack's GET method to support indifferent access.
61
- def GET
62
- fetch_header("action_dispatch.request.query_parameters") do |k|
63
- params = event["queryStringParameters"] || {}
64
- set_binary_encoding(params)
65
- set_header k, normalize_encode_params(params)
66
- end
67
- end
68
- alias query_parameters GET
69
-
70
- # Based on ActionDispatch::Request#POST https://bit.ly/48fxh1A
71
- # Override Rack's POST method to support indifferent access.
72
- def POST
73
- fetch_header("action_dispatch.request.request_parameters") do
74
- params = get_request_parameters
75
- self.request_parameters = normalize_encode_params(params)
76
- end
77
- end
78
- alias request_parameters POST
79
-
80
- def request_parameters=(params)
81
- raise if params.nil?
82
- set_header("action_dispatch.request.request_parameters", params)
83
- end
84
-
85
- def get_request_parameters
86
- body = event['isBase64Encoded'] ? base64_decode(event["body"]) : event["body"]
87
- return {} if body.nil?
88
-
89
- parsed_json = parse_json(body)
90
- return parsed_json if parsed_json
91
-
92
- if content_type.to_s.include?("application/x-www-form-urlencoded")
93
- return ::Rack::Utils.parse_nested_query(body)
94
- elsif content_type.to_s.include?("multipart/form-data")
95
- return parse_multipart(body)
96
- end
97
-
98
- {} # fallback to empty Hash
99
- end
100
- memoize :get_request_parameters
101
-
102
- # jets specific
103
- def request_method_from_hidden_method_field
104
- get_request_parameters["_method"].to_s.upcase if get_request_parameters["_method"]
105
- end
106
-
107
- private
108
-
109
- def parse_multipart(body)
110
- boundary = ::Rack::Multipart::Parser.parse_boundary(content_type)
111
- options = multipart_options(body, boundary)
112
- env = ::Rack::MockRequest.env_for("/", options)
113
- ::Rack::Multipart.parse_multipart(env) # params Hash
114
- end
115
-
116
- def multipart_options(data, boundary = "AaB03x")
117
- type = %(multipart/form-data; boundary=#{boundary})
118
- length = data.bytesize
119
-
120
- { "CONTENT_TYPE" => type,
121
- "CONTENT_LENGTH" => length.to_s,
122
- :input => StringIO.new(data) }
123
- end
124
-
125
- def parse_json(text)
126
- JSON.parse(text)
127
- rescue JSON::ParserError
128
- nil
129
- end
130
-
131
- def base64_decode(body)
132
- return nil if body.nil?
133
- Base64.decode64(body)
134
- end
135
-
136
- def unescape_recursively(obj)
137
- case obj
138
- when Hash then obj.map { |k, v| [k, unescape_recursively(v)] }.to_h
139
- when Array then obj.map { |v| unescape_recursively(v) }
140
- else CGI.unescape(obj.to_s)
141
- end
142
- end
143
- end
144
- end
@@ -1,125 +0,0 @@
1
- module Jets::Controller::Request::Compat
2
- # Based on ActionDispatch::Request class
3
- module Request
4
- extend Memoist
5
-
6
- ENV_METHODS = %w[ AUTH_TYPE GATEWAY_INTERFACE
7
- PATH_TRANSLATED REMOTE_HOST
8
- REMOTE_IDENT REMOTE_USER REMOTE_ADDR
9
- SERVER_NAME SERVER_PROTOCOL
10
- ORIGINAL_SCRIPT_NAME
11
-
12
- HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_ENCODING
13
- HTTP_ACCEPT_LANGUAGE HTTP_CACHE_CONTROL HTTP_FROM
14
- HTTP_NEGOTIATE HTTP_PRAGMA HTTP_CLIENT_IP
15
- HTTP_X_FORWARDED_FOR HTTP_ORIGIN HTTP_VERSION
16
- HTTP_X_CSRF_TOKEN HTTP_X_REQUEST_ID HTTP_X_FORWARDED_HOST
17
- ].freeze
18
-
19
- ENV_METHODS.each do |env|
20
- class_eval <<-METHOD, __FILE__, __LINE__ + 1
21
- # frozen_string_literal: true
22
- def #{env.delete_prefix("HTTP_").downcase} # def accept_charset
23
- get_header "#{env}" # get_header "HTTP_ACCEPT_CHARSET"
24
- end # end
25
- METHOD
26
- end
27
-
28
- LOCALHOST = Regexp.union [/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/, /^::1$/, /^0:0:0:0:0:0:0:1(%.*)?$/]
29
-
30
- def session
31
- key = ActionDispatch::Request::Session::ENV_SESSION_KEY
32
- session = env[key]
33
- if session.nil? # controller dispatch! does not go through middleware
34
- # mock session that is disabled
35
- session = ActionDispatch::Request::Session.new(nil, self, enabled: false)
36
- end
37
- session
38
- end
39
-
40
- def session=(session) # :nodoc:
41
- ActionDispatch::Request::Session.set self, session
42
- end
43
-
44
- def session_options=(options)
45
- ActionDispatch::Request::Session::Options.set self, options
46
- end
47
-
48
- def reset_session
49
- session.destroy
50
- end
51
-
52
- def headers
53
- top_level_headers.merge(http_headers)
54
- end
55
-
56
- def http_headers
57
- Hash[*env.select {|k,v| k.start_with? 'HTTP_'}
58
- .collect {|k,v| [k.sub(/^HTTP_/, ''), v]}
59
- .collect {|k,v| [k.split('_').collect(&:capitalize).join('-'), v]}
60
- .sort
61
- .flatten]
62
- end
63
-
64
- # These are not part of a Rails headers but believe
65
- # they make sense to add as it feel like expected behavior.
66
- def top_level_headers
67
- hash = {
68
- "Host" => env["HTTP_HOST"],
69
- "Content-Type" => env["CONTENT_TYPE"],
70
- "Content-Length" => env["CONTENT_LENGTH"],
71
- }
72
- hash.delete_if { |k, v| v.nil? }
73
- hash
74
- end
75
-
76
- # Returns the lowercase name of the HTTP server software.
77
- def server_software
78
- (get_header("SERVER_SOFTWARE") && /^([a-zA-Z]+)/ =~ get_header("SERVER_SOFTWARE")) ? $1.downcase : nil
79
- end
80
-
81
- # Returns the authorization header regardless of whether it was specified directly or through one of the
82
- # proxy alternatives.
83
- def authorization
84
- get_header("HTTP_AUTHORIZATION") ||
85
- get_header("X-HTTP_AUTHORIZATION") ||
86
- get_header("X_HTTP_AUTHORIZATION") ||
87
- get_header("REDIRECT_X_HTTP_AUTHORIZATION")
88
- end
89
-
90
- # True if the request came from localhost, 127.0.0.1, or ::1.
91
- def local?
92
- LOCALHOST.match?(remote_addr) && LOCALHOST.match?(remote_ip)
93
- end
94
-
95
- def controller_class_for(name)
96
- controller_param = name.underscore
97
- const_name = controller_param.camelize << "Controller"
98
- const_name.constantize
99
- end
100
-
101
- def request_method_symbol
102
- request_method.downcase.to_sym
103
- end
104
- alias method_symbol request_method_symbol
105
-
106
- # Returns the IP address of client as a +String+,
107
- # usually set by the RemoteIp middleware.
108
- def remote_ip
109
- @remote_ip ||= (get_header("action_dispatch.remote_ip") || ip).to_s
110
- end
111
-
112
- def remote_ip=(remote_ip)
113
- @remote_ip = nil
114
- set_header "action_dispatch.remote_ip", remote_ip
115
- end
116
-
117
- # Needed when action_view.preload_links_header = true
118
- # Rails 6.1 defaults
119
- def send_early_hints(links)
120
- return unless env["rack.early_hints"]
121
-
122
- env["rack.early_hints"].call(links)
123
- end
124
- end
125
- end
@@ -1,46 +0,0 @@
1
- require 'rack/request'
2
-
3
- module Jets::Controller
4
- class Request
5
- include Rack::Request::Helpers
6
- include Compat::Request
7
- include Compat::Params
8
-
9
- include ActionDispatch::Flash::RequestMethods
10
- include ActionDispatch::Http::Cache::Request
11
- include ActionDispatch::Http::MimeNegotiation
12
- include ActionDispatch::Http::FilterParameters # parameter_filter and filtered_parameters
13
- include ActionDispatch::Http::URL
14
- include ActionDispatch::RequestCookieMethods
15
- include ActionDispatch::ContentSecurityPolicy::Request
16
- include ActionDispatch::PermissionsPolicy::Request
17
- include Rack::Request::Env
18
-
19
- # since jets delegates parameter_filter from controller to request
20
- public :parameter_filter
21
-
22
- attr_reader :event, :env
23
- attr_accessor :routes
24
- def initialize(rack_env: nil, event: nil)
25
- @rack_env = rack_env
26
- @event = event
27
- @env = normalize_env
28
- super(@env) # Rack::Env module => super()
29
- end
30
-
31
- def normalize_env
32
- if @rack_env # already rack env
33
- @rack_env # rack_env is from Controller.action => lambda { |env| .. }
34
- else
35
- Jets::Controller::RackAdapter::Env.new(@event, {}).convert # convert to Rack env
36
- end
37
- end
38
-
39
- # When request hits the middleware Controller::RackAdapter::Middleware::Main endpoint
40
- # We updated env since it could had been mutated down the middleware stack
41
- # from Mimic to Main.
42
- def set_env!(env)
43
- @env = env
44
- end
45
- end
46
- end
@@ -1,67 +0,0 @@
1
- module Jets::Controller::Response::Compat
2
- module Response
3
- extend ActiveSupport::Concern
4
-
5
- included do
6
- # Must come before include ActionDispatch::Http::Cache::Response
7
- # Aliasing these off because AD::Http::Cache::Response defines them.
8
- alias :_cache_control :cache_control
9
- alias :_cache_control= :cache_control=
10
- end
11
-
12
- class_methods do
13
- cattr_accessor :default_charset, default: "utf-8"
14
- end
15
-
16
- ContentTypeHeader = Struct.new :mime_type, :charset
17
- NullContentTypeHeader = ContentTypeHeader.new nil, nil
18
-
19
- CONTENT_TYPE = "Content-Type"
20
- CONTENT_TYPE_PARSER = /
21
- \A
22
- (?<mime_type>[^;\s]+\s*(?:;\s*(?:(?!charset)[^;\s])+)*)?
23
- (?:;\s*charset=(?<quote>"?)(?<charset>[^;\s]+)\k<quote>)?
24
- /x # :nodoc:
25
-
26
- def parse_content_type(content_type)
27
- if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
28
- ContentTypeHeader.new(match[:mime_type], match[:charset])
29
- else
30
- NullContentTypeHeader
31
- end
32
- end
33
-
34
- # Small internal convenience method to get the parsed version of the current
35
- # content type header.
36
- def parsed_content_type_header
37
- parse_content_type(get_header("Content-Type"))
38
- end
39
-
40
- def set_content_type(content_type, charset)
41
- type = content_type || ""
42
- type = "#{type}; charset=#{charset.to_s.downcase}" if charset
43
- set_header CONTENT_TYPE, type
44
- end
45
-
46
- # Sets the HTTP character set. In case of +nil+ parameter
47
- # it sets the charset to +default_charset+.
48
- #
49
- # response.charset = 'utf-16' # => 'utf-16'
50
- # response.charset = nil # => 'utf-8'
51
- def charset=(charset)
52
- content_type = parsed_content_type_header.mime_type
53
- if false == charset
54
- set_content_type content_type, nil
55
- else
56
- set_content_type content_type, charset || self.class.default_charset
57
- end
58
- end
59
-
60
- # The charset of the response. HTML wants to know the encoding of the
61
- # content you're giving them, so we need to send that along.
62
- def charset
63
- header_info = parsed_content_type_header
64
- header_info.charset || self.class.default_charset
65
- end
66
- end
67
- end