falcon 0.42.3 → 0.43.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/bake/falcon/supervisor.rb +3 -1
  4. data/lib/falcon/command/host.rb +2 -19
  5. data/lib/falcon/command/paths.rb +2 -19
  6. data/lib/falcon/command/proxy.rb +2 -19
  7. data/lib/falcon/command/redirect.rb +2 -19
  8. data/lib/falcon/command/serve.rb +5 -19
  9. data/lib/falcon/command/supervisor.rb +2 -19
  10. data/lib/falcon/command/top.rb +2 -19
  11. data/lib/falcon/command/virtual.rb +2 -19
  12. data/lib/falcon/command.rb +3 -19
  13. data/lib/falcon/configuration.rb +3 -19
  14. data/lib/falcon/controller/host.rb +2 -19
  15. data/lib/falcon/controller/proxy.rb +2 -19
  16. data/lib/falcon/controller/redirect.rb +2 -19
  17. data/lib/falcon/controller/serve.rb +3 -19
  18. data/lib/falcon/controller/virtual.rb +2 -19
  19. data/lib/falcon/endpoint.rb +2 -19
  20. data/lib/falcon/environments/application.rb +3 -19
  21. data/lib/falcon/environments/lets_encrypt_tls.rb +2 -19
  22. data/lib/falcon/environments/proxy.rb +4 -19
  23. data/lib/falcon/environments/rack.rb +2 -19
  24. data/lib/falcon/environments/self_signed_tls.rb +2 -19
  25. data/lib/falcon/environments/supervisor.rb +2 -19
  26. data/lib/falcon/environments/tls.rb +2 -19
  27. data/lib/falcon/environments.rb +2 -19
  28. data/lib/falcon/middleware/proxy.rb +3 -20
  29. data/lib/falcon/middleware/redirect.rb +2 -19
  30. data/lib/falcon/middleware/verbose.rb +2 -19
  31. data/lib/falcon/proxy_endpoint.rb +2 -19
  32. data/lib/falcon/railtie.rb +10 -0
  33. data/lib/falcon/server.rb +2 -19
  34. data/lib/falcon/service/application.rb +3 -19
  35. data/lib/falcon/service/generic.rb +2 -19
  36. data/lib/falcon/service/proxy.rb +2 -19
  37. data/lib/falcon/service/supervisor.rb +2 -19
  38. data/lib/falcon/services.rb +2 -19
  39. data/lib/falcon/tls.rb +2 -19
  40. data/lib/falcon/version.rb +3 -20
  41. data/lib/falcon.rb +5 -19
  42. data/lib/rack/handler/falcon.rb +4 -0
  43. data/lib/rackup/handler/falcon.rb +83 -0
  44. data/license.md +39 -0
  45. data/readme.md +60 -0
  46. data.tar.gz.sig +0 -0
  47. metadata +16 -94
  48. metadata.gz.sig +0 -0
data/readme.md ADDED
@@ -0,0 +1,60 @@
1
+ # ![Falcon](logo.svg)
2
+
3
+ Falcon is a multi-process, multi-fiber rack-compatible HTTP server built on top of [async](https://github.com/socketry/async), [async-io](https://github.com/socketry/async-io), [async-container](https://github.com/socketry/async-container) and [async-http](https://github.com/socketry/async-http). Each request is executed within a lightweight fiber and can block on up-stream requests without stalling the entire server process. Falcon supports HTTP/1 and HTTP/2 natively.
4
+
5
+ [![Development Status](https://github.com/socketry/falcon/workflows/Test/badge.svg)](https://github.com/socketry/falcon/actions?workflow=Test)
6
+
7
+ ## Motivation
8
+
9
+ Initially, when I developed [async](https://github.com/socketry/async), I saw an opportunity to implement [async-http](https://github.com/socketry/async-http): providing both client and server components. After experimenting with these ideas, I decided to build an actual web server for comparing and validating performance primarily out of interest. Falcon grew out of those experiments and permitted the ability to test existing real-world code on top of [async](https://github.com/socketry/async).
10
+
11
+ Once I had something working, I saw an opportunity to simplify my development, testing and production environments, replacing production (Nginx+Passenger) and development (Puma) with Falcon. Not only does this simplify deployment, it helps minimize environment-specific bugs.
12
+
13
+ My long term vision for Falcon is to make a web application platform which trivializes server deployment. Ideally, a web application can fully describe all its components: HTTP servers, databases, periodic jobs, background jobs, remote management, etc. Currently, it is not uncommon for all these facets to be handled independently in platform specific ways. This can make it difficult to set up new instances as well as make changes to underlying infrastructure. I hope Falcon can address some of these issues in a platform agnostic way.
14
+
15
+ As web development is something I'm passionate about, having a server like Falcon is empowering.
16
+
17
+ ## Priority Business Support
18
+
19
+ Falcon can be an important part of your business or project, both improving performance and saving money. As such, priority business support is available to make every project a success. The support agreement will give you:
20
+
21
+ - Direct support and assistance via Slack and email.
22
+ - Advance notification of bugs and security issues.
23
+ - Priority consideration of feature requests and bug reports.
24
+ - Better software by funding development and testing.
25
+
26
+ Please visit [Socketry.io](https://socketry.io) to register and subscribe.
27
+
28
+ ## Usage
29
+
30
+ Please see the [project documentation](https://socketry.github.io/falcon/) for more details.
31
+
32
+ - [Getting Started](https://socketry.github.io/falcon/guides/getting-started/index) - This guide explains how to use Falcon for Ruby web application development.
33
+
34
+ - [Rails Integration](https://socketry.github.io/falcon/guides/rails-integration/index) - This guide explains how to host Rails applications with Falcon.
35
+
36
+ - [Deployment](https://socketry.github.io/falcon/guides/deployment/index) - This guide explains how to use Falcon in production environments.
37
+
38
+ - [Extended Features](https://socketry.github.io/falcon/guides/extended-features/index) - This guide explains some of the extended features and functionality of Falcon.
39
+
40
+ - [Performance Tuning](https://socketry.github.io/falcon/guides/performance-tuning/index) - This guide explains the performance characteristics of Falcon.
41
+
42
+ - [How It Works](https://socketry.github.io/falcon/guides/how-it-works/index) - This guide gives an overview of how Falcon handles an incoming web request.
43
+
44
+ ## Contributing
45
+
46
+ We welcome contributions to this project.
47
+
48
+ 1. Fork it.
49
+ 2. Create your feature branch (`git checkout -b my-new-feature`).
50
+ 3. Commit your changes (`git commit -am 'Add some feature'`).
51
+ 4. Push to the branch (`git push origin my-new-feature`).
52
+ 5. Create new Pull Request.
53
+
54
+ ### Developer Certificate of Origin
55
+
56
+ This project uses the [Developer Certificate of Origin](https://developercertificate.org/). All contributors to this project must agree to this document to have their contributions accepted.
57
+
58
+ ### Contributor Covenant
59
+
60
+ This project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,27 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: falcon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.42.3
4
+ version: 0.43.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  - Janko Marohnić
9
- - dependabot[bot]
10
9
  - Bryan Powell
10
+ - Claudiu Garba
11
+ - Kyle Tam
12
+ - Mitsutaka Mimura
11
13
  - Sho Ito
12
- - claudiu
13
- - takkanm
14
- - tamkylet
15
14
  - Colby Swandale
16
15
  - Daniel Evans
17
16
  - Kent Gruber
18
17
  - Michael Adams
19
18
  - Mikel Kew
19
+ - Nick Janetakis
20
20
  - Olle Jonsson
21
+ - Peter Schrammel
22
+ - Santiago Bartesaghi
21
23
  - Sh Lin
22
24
  - Tad Thorley
23
25
  - Tasos Latsas
24
- - deepj
25
26
  autorequire:
26
27
  bindir: bin
27
28
  cert_chain:
@@ -54,7 +55,7 @@ cert_chain:
54
55
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
55
56
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
56
57
  -----END CERTIFICATE-----
57
- date: 2022-08-28 00:00:00.000000000 Z
58
+ date: 2024-01-31 00:00:00.000000000 Z
58
59
  dependencies:
59
60
  - !ruby/object:Gem::Dependency
60
61
  name: async
@@ -224,90 +225,6 @@ dependencies:
224
225
  - - "~>"
225
226
  - !ruby/object:Gem::Version
226
227
  version: '2.1'
227
- - !ruby/object:Gem::Dependency
228
- name: async-process
229
- requirement: !ruby/object:Gem::Requirement
230
- requirements:
231
- - - "~>"
232
- - !ruby/object:Gem::Version
233
- version: '1.1'
234
- type: :development
235
- prerelease: false
236
- version_requirements: !ruby/object:Gem::Requirement
237
- requirements:
238
- - - "~>"
239
- - !ruby/object:Gem::Version
240
- version: '1.1'
241
- - !ruby/object:Gem::Dependency
242
- name: async-rspec
243
- requirement: !ruby/object:Gem::Requirement
244
- requirements:
245
- - - "~>"
246
- - !ruby/object:Gem::Version
247
- version: '1.7'
248
- type: :development
249
- prerelease: false
250
- version_requirements: !ruby/object:Gem::Requirement
251
- requirements:
252
- - - "~>"
253
- - !ruby/object:Gem::Version
254
- version: '1.7'
255
- - !ruby/object:Gem::Dependency
256
- name: async-websocket
257
- requirement: !ruby/object:Gem::Requirement
258
- requirements:
259
- - - "~>"
260
- - !ruby/object:Gem::Version
261
- version: 0.19.2
262
- type: :development
263
- prerelease: false
264
- version_requirements: !ruby/object:Gem::Requirement
265
- requirements:
266
- - - "~>"
267
- - !ruby/object:Gem::Version
268
- version: 0.19.2
269
- - !ruby/object:Gem::Dependency
270
- name: bake
271
- requirement: !ruby/object:Gem::Requirement
272
- requirements:
273
- - - ">="
274
- - !ruby/object:Gem::Version
275
- version: '0'
276
- type: :development
277
- prerelease: false
278
- version_requirements: !ruby/object:Gem::Requirement
279
- requirements:
280
- - - ">="
281
- - !ruby/object:Gem::Version
282
- version: '0'
283
- - !ruby/object:Gem::Dependency
284
- name: covered
285
- requirement: !ruby/object:Gem::Requirement
286
- requirements:
287
- - - ">="
288
- - !ruby/object:Gem::Version
289
- version: '0'
290
- type: :development
291
- prerelease: false
292
- version_requirements: !ruby/object:Gem::Requirement
293
- requirements:
294
- - - ">="
295
- - !ruby/object:Gem::Version
296
- version: '0'
297
- - !ruby/object:Gem::Dependency
298
- name: rspec
299
- requirement: !ruby/object:Gem::Requirement
300
- requirements:
301
- - - "~>"
302
- - !ruby/object:Gem::Version
303
- version: '3.6'
304
- type: :development
305
- prerelease: false
306
- version_requirements: !ruby/object:Gem::Requirement
307
- requirements:
308
- - - "~>"
309
- - !ruby/object:Gem::Version
310
- version: '3.6'
311
228
  description:
312
229
  email:
313
230
  executables:
@@ -349,6 +266,7 @@ files:
349
266
  - lib/falcon/middleware/redirect.rb
350
267
  - lib/falcon/middleware/verbose.rb
351
268
  - lib/falcon/proxy_endpoint.rb
269
+ - lib/falcon/railtie.rb
352
270
  - lib/falcon/server.rb
353
271
  - lib/falcon/service/application.rb
354
272
  - lib/falcon/service/generic.rb
@@ -358,10 +276,14 @@ files:
358
276
  - lib/falcon/tls.rb
359
277
  - lib/falcon/version.rb
360
278
  - lib/rack/handler/falcon.rb
279
+ - lib/rackup/handler/falcon.rb
280
+ - license.md
281
+ - readme.md
361
282
  homepage: https://github.com/socketry/falcon
362
283
  licenses:
363
284
  - MIT
364
- metadata: {}
285
+ metadata:
286
+ documentation_uri: https://socketry.github.io/falcon/
365
287
  post_install_message:
366
288
  rdoc_options: []
367
289
  require_paths:
@@ -370,14 +292,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
370
292
  requirements:
371
293
  - - ">="
372
294
  - !ruby/object:Gem::Version
373
- version: '2.5'
295
+ version: '3.0'
374
296
  required_rubygems_version: !ruby/object:Gem::Requirement
375
297
  requirements:
376
298
  - - ">="
377
299
  - !ruby/object:Gem::Version
378
300
  version: '0'
379
301
  requirements: []
380
- rubygems_version: 3.3.7
302
+ rubygems_version: 3.5.5
381
303
  signing_key:
382
304
  specification_version: 4
383
305
  summary: A fast, asynchronous, rack-compatible web server.
metadata.gz.sig CHANGED
Binary file