falcon 0.55.3 → 0.55.5
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
- checksums.yaml.gz.sig +0 -0
- data/lib/falcon/body/request_finished.rb +4 -3
- data/lib/falcon/middleware/proxy.rb +2 -0
- data/lib/falcon/version.rb +1 -1
- data/license.md +1 -0
- data/readme.md +24 -9
- data/releases.md +8 -0
- data.tar.gz.sig +0 -0
- metadata +3 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cd76881d4e2bd3d7d00d9ec50dbb09f912df3846c2f5e35efec1b3cfb34cc936
|
|
4
|
+
data.tar.gz: 025f81b91d16d7f9e71797fd7d59b64f321c1026b350be23797f1019b8d78680
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3dd4e37cf24b306e1aa71519612552de2bd0e6eae12b408b33227ea59dec06fc49a52c5094330d7bf632dfe8284a125a50765189b9cd8f92225a909f16ef7c6d
|
|
7
|
+
data.tar.gz: e6c129ee4d46bfb68a0584fbd48a4f0fe41497bc102200a845c1476a77ab7abfe011f2f5b8e37ff7f1de8e33dd38b08db7191442b55e0a490ebaffa64bb738ea
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
|
@@ -11,8 +11,9 @@ module Falcon
|
|
|
11
11
|
# Wraps a response body and decrements a metric after the body is closed.
|
|
12
12
|
#
|
|
13
13
|
# Runs close on the underlying body first (which invokes rack.response_finished),
|
|
14
|
-
# then decrements the metric. Use this so requests_active
|
|
15
|
-
# the request is fully finished (including response_finished
|
|
14
|
+
# then decrements the metric, even if closing raises. Use this so requests_active
|
|
15
|
+
# stays elevated until the request is fully finished (including response_finished
|
|
16
|
+
# callbacks), without leaking if close reports an error.
|
|
16
17
|
class RequestFinished < Protocol::HTTP::Body::Wrapper
|
|
17
18
|
# Wrap a response body with a metric.
|
|
18
19
|
#
|
|
@@ -56,7 +57,7 @@ module Falcon
|
|
|
56
57
|
# @parameter error [Exception, nil] Optional error that caused the close.
|
|
57
58
|
def close(error = nil)
|
|
58
59
|
super
|
|
59
|
-
|
|
60
|
+
ensure
|
|
60
61
|
@metric&.decrement
|
|
61
62
|
@metric = nil
|
|
62
63
|
end
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Released under the MIT License.
|
|
4
4
|
# Copyright, 2018-2026, by Samuel Williams.
|
|
5
|
+
# Copyright, 2026, by Fletcher Dares.
|
|
5
6
|
|
|
6
7
|
require "async/http/client"
|
|
7
8
|
require "protocol/http/headers"
|
|
@@ -43,6 +44,7 @@ module Falcon
|
|
|
43
44
|
"keep-alive",
|
|
44
45
|
"public",
|
|
45
46
|
"proxy-authenticate",
|
|
47
|
+
"proxy-authorization",
|
|
46
48
|
"transfer-encoding",
|
|
47
49
|
"upgrade",
|
|
48
50
|
]
|
data/lib/falcon/version.rb
CHANGED
data/license.md
CHANGED
|
@@ -29,6 +29,7 @@ Copyright, 2025, by Pierre Montelle.
|
|
|
29
29
|
Copyright, 2025, by Jared Smith.
|
|
30
30
|
Copyright, 2025, by Yoji Shidara.
|
|
31
31
|
Copyright, 2026, by Ayush Newatia.
|
|
32
|
+
Copyright, 2026, by Fletcher Dares.
|
|
32
33
|
|
|
33
34
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
34
35
|
of this software and associated documentation files (the "Software"), to deal
|
data/readme.md
CHANGED
|
@@ -47,6 +47,14 @@ Please see the [project documentation](https://socketry.github.io/falcon/) for m
|
|
|
47
47
|
|
|
48
48
|
Please see the [project releases](https://socketry.github.io/falcon/releases/index) for all releases.
|
|
49
49
|
|
|
50
|
+
### v0.55.5
|
|
51
|
+
|
|
52
|
+
- Strip `proxy-authorization` header in `Falcon::Middleware::Proxy`.
|
|
53
|
+
|
|
54
|
+
### v0.55.4
|
|
55
|
+
|
|
56
|
+
- Ensure `requests_active` is decremented if closing the response body raises.
|
|
57
|
+
|
|
50
58
|
### v0.55.3
|
|
51
59
|
|
|
52
60
|
- Decrement `requests_active` in `Falcon::Server#call` when `super` or `Falcon::Body::RequestFinished.wrap` raises, so utilization metrics are not leaked on error paths.
|
|
@@ -86,15 +94,6 @@ Please see the [project releases](https://socketry.github.io/falcon/releases/ind
|
|
|
86
94
|
- Minor documentation improvements.
|
|
87
95
|
- Agent context is now available, via the [`agent-context` gem](https://github.com/ioquatix/agent-context).
|
|
88
96
|
|
|
89
|
-
### v0.51.0
|
|
90
|
-
|
|
91
|
-
- Introduce <code class="language-ruby">Falcon::Environment::Server\#make\_server</code> which gives you full control over the server creation process.
|
|
92
|
-
- [Introduce `Async::Container::Supervisor`.](https://socketry.github.io/falcon/releases/index#introduce-async::container::supervisor.)
|
|
93
|
-
|
|
94
|
-
### v0.50.0
|
|
95
|
-
|
|
96
|
-
- Add <code class="language-ruby">Falcon::Environment::Server\#endpoint\_options</code> to allow configuration of the endpoint options more easily.
|
|
97
|
-
|
|
98
97
|
## Contributing
|
|
99
98
|
|
|
100
99
|
We welcome contributions to this project.
|
|
@@ -105,6 +104,22 @@ We welcome contributions to this project.
|
|
|
105
104
|
4. Push to the branch (`git push origin my-new-feature`).
|
|
106
105
|
5. Create new Pull Request.
|
|
107
106
|
|
|
107
|
+
### Running Tests
|
|
108
|
+
|
|
109
|
+
To run the test suite:
|
|
110
|
+
|
|
111
|
+
``` shell
|
|
112
|
+
bundle exec sus
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Making Releases
|
|
116
|
+
|
|
117
|
+
To make a new release:
|
|
118
|
+
|
|
119
|
+
``` shell
|
|
120
|
+
bundle exec bake gem:release:patch # or minor or major
|
|
121
|
+
```
|
|
122
|
+
|
|
108
123
|
### Developer Certificate of Origin
|
|
109
124
|
|
|
110
125
|
In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
|
data/releases.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Releases
|
|
2
2
|
|
|
3
|
+
## v0.55.5
|
|
4
|
+
|
|
5
|
+
- Strip `proxy-authorization` header in `Falcon::Middleware::Proxy`.
|
|
6
|
+
|
|
7
|
+
## v0.55.4
|
|
8
|
+
|
|
9
|
+
- Ensure `requests_active` is decremented if closing the response body raises.
|
|
10
|
+
|
|
3
11
|
## v0.55.3
|
|
4
12
|
|
|
5
13
|
- Decrement `requests_active` in `Falcon::Server#call` when `super` or `Falcon::Body::RequestFinished.wrap` raises, so utilization metrics are not leaked on error paths.
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: falcon
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.55.
|
|
4
|
+
version: 0.55.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Samuel Williams
|
|
@@ -18,6 +18,7 @@ authors:
|
|
|
18
18
|
- Ayush Newatia
|
|
19
19
|
- Colby Swandale
|
|
20
20
|
- Daniel Evans
|
|
21
|
+
- Fletcher Dares
|
|
21
22
|
- Ismael Celis
|
|
22
23
|
- Jared Smith
|
|
23
24
|
- Kent Gruber
|
|
@@ -312,7 +313,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
312
313
|
- !ruby/object:Gem::Version
|
|
313
314
|
version: '0'
|
|
314
315
|
requirements: []
|
|
315
|
-
rubygems_version: 4.0.
|
|
316
|
+
rubygems_version: 4.0.10
|
|
316
317
|
specification_version: 4
|
|
317
318
|
summary: A fast, asynchronous, rack-compatible web server.
|
|
318
319
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|