async-http 0.89.0 → 0.90.0
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/async/http/body/pipe.rb +0 -2
- data/lib/async/http/client.rb +1 -2
- data/lib/async/http/version.rb +1 -1
- data/lib/metrics/provider/async/http/client.rb +26 -0
- data/lib/metrics/provider/async/http/server.rb +27 -0
- data/lib/metrics/provider/async/http.rb +4 -0
- data/readme.md +1 -1
- data.tar.gz.sig +0 -0
- metadata +8 -5
- 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: 4deafcd4307a062ea1c30e318ad047ca05189a901b9a992dad49229bd1b29f24
|
4
|
+
data.tar.gz: 8525c40739af32f69dab67e3c813660057831b09ecfe2927e346dd4a6b585b2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8da92f52774dc4ada4701cea046fed2c948603f8327e68c5dbbbe0618eeb0b9a0d3fe3fe197c0ba3fbdaf95916375930a73f65e4121e7021ea0e95f236d7205
|
7
|
+
data.tar.gz: f01f486824e2345b637344235d710e727a422fa068d5a376497966052ec8b791edde1725e118489061e52b85ac2aa3b671f81bf5e5115925d8c3e16314540690
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/async/http/body/pipe.rb
CHANGED
data/lib/async/http/client.rb
CHANGED
data/lib/async/http/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Released under the MIT License.
|
4
|
+
# Copyright, 2025, by Samuel Williams.
|
5
|
+
|
6
|
+
require_relative "../../../../async/http/client"
|
7
|
+
require "metrics/provider"
|
8
|
+
|
9
|
+
Metrics::Provider(Async::HTTP::Client) do
|
10
|
+
ASYNC_HTTP_CLIENT_REQUEST_INITIATED = Metrics.metric("async.http.client.request.initiated", :counter, description: "The number of HTTP client requests initiated.")
|
11
|
+
ASYNC_HTTP_CLIENT_REQUEST_COMPLETED = Metrics.metric("async.http.client.request.completed", :counter, description: "The number of HTTP client requests completed.")
|
12
|
+
|
13
|
+
def make_response(request, connection, attempt)
|
14
|
+
ASYNC_HTTP_CLIENT_REQUEST_INITIATED.emit(1, tags: ["method:#{request.method}"])
|
15
|
+
|
16
|
+
response = super(request, connection, attempt)
|
17
|
+
|
18
|
+
ASYNC_HTTP_CLIENT_REQUEST_COMPLETED.emit(1, tags: ["method:#{request.method}", "status:#{response.status}"])
|
19
|
+
|
20
|
+
return response
|
21
|
+
ensure
|
22
|
+
unless response
|
23
|
+
ASYNC_HTTP_CLIENT_REQUEST_COMPLETED.emit(1, tags: ["method:#{request.method}", "status:failed"])
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Released under the MIT License.
|
4
|
+
# Copyright, 2025, by Samuel Williams.
|
5
|
+
|
6
|
+
require_relative "../../../../async/http/server"
|
7
|
+
require "metrics/provider"
|
8
|
+
|
9
|
+
Metrics::Provider(Async::HTTP::Server) do
|
10
|
+
ASYNC_HTTP_SERVER_REQUEST_INITIATED = Metrics.metric("async.http.server.request.initiated", :counter, description: "The number of HTTP server requests initiated.")
|
11
|
+
ASYNC_HTTP_SERVER_REQUEST_COMPLETED = Metrics.metric("async.http.server.request.completed", :counter, description: "The number of HTTP server requests completed.")
|
12
|
+
|
13
|
+
def call(request)
|
14
|
+
ASYNC_HTTP_SERVER_REQUEST_INITIATED.emit(1, tags: ["method:#{request.method}"])
|
15
|
+
|
16
|
+
if response = super(request)
|
17
|
+
ASYNC_HTTP_SERVER_REQUEST_COMPLETED.emit(1, tags: ["method:#{request.method}", "status:#{response.status}"])
|
18
|
+
return response
|
19
|
+
else
|
20
|
+
return nil
|
21
|
+
end
|
22
|
+
ensure
|
23
|
+
unless response
|
24
|
+
ASYNC_HTTP_SERVER_REQUEST_COMPLETED.emit(1, tags: ["method:#{request.method}", "status:failed"])
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/readme.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Async::HTTP
|
2
2
|
|
3
|
-
An asynchronous client and server implementation of HTTP/1.0, HTTP/1.1 and HTTP/2 including TLS. Support for streaming requests and responses. Built on top of [async](https://github.com/socketry/async) and [
|
3
|
+
An asynchronous client and server implementation of HTTP/1.0, HTTP/1.1 and HTTP/2 including TLS. Support for streaming requests and responses. Built on top of [async](https://github.com/socketry/async), [io-endpoint](https://github.com/socketry/io-endpoint) and [io-stream](https://github.com/socketry/io-stream). [falcon](https://github.com/socketry/falcon) provides a rack-compatible server.
|
4
4
|
|
5
5
|
[](https://github.com/socketry/async-http/actions?workflow=Test)
|
6
6
|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: async-http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.90.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -58,7 +58,7 @@ cert_chain:
|
|
58
58
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
59
59
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
60
60
|
-----END CERTIFICATE-----
|
61
|
-
date:
|
61
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
62
62
|
dependencies:
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
64
|
name: async
|
@@ -80,14 +80,14 @@ dependencies:
|
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '0.
|
83
|
+
version: '0.11'
|
84
84
|
type: :runtime
|
85
85
|
prerelease: false
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: '0.
|
90
|
+
version: '0.11'
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: io-endpoint
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,6 +235,9 @@ files:
|
|
235
235
|
- lib/async/http/server.rb
|
236
236
|
- lib/async/http/statistics.rb
|
237
237
|
- lib/async/http/version.rb
|
238
|
+
- lib/metrics/provider/async/http.rb
|
239
|
+
- lib/metrics/provider/async/http/client.rb
|
240
|
+
- lib/metrics/provider/async/http/server.rb
|
238
241
|
- license.md
|
239
242
|
- readme.md
|
240
243
|
- releases.md
|
@@ -258,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
261
|
- !ruby/object:Gem::Version
|
259
262
|
version: '0'
|
260
263
|
requirements: []
|
261
|
-
rubygems_version: 3.6.
|
264
|
+
rubygems_version: 3.6.9
|
262
265
|
specification_version: 4
|
263
266
|
summary: A HTTP client and server library.
|
264
267
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|