macaw_framework 1.2.1 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -0
- data/CHANGELOG.md +8 -0
- data/README.md +13 -6
- data/lib/macaw_framework/version.rb +1 -1
- data/lib/macaw_framework.rb +5 -2
- data/sig/macaw_framework/macaw.rbs +4 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b8d8af2c8dfcaf1b23ec98aa59552d18ba7922db8829ceb6d3969a13b780c16
|
4
|
+
data.tar.gz: d55ae5ebfe0d6cbb5019bcfaeb7aedbaa808c15a0ad13c7b6e5f96a036496d3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a53413f64b5a2c25bb026d961690b78490cf45b1e58e03f695d7bfad54b0e4d461b04351a3b8aaf23ab991bb5b7450fd481f8f25bced1a6b3f818b035934635
|
7
|
+
data.tar.gz: 3a503e0618a7af98b43f26b284fedcbf238bb128c7bd1cb8013c8b36485c9539a2a0a242e78af675e51b7df23ad16e4d00e5cbe368ee9faf448359930892605c
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -137,12 +137,6 @@ end
|
|
137
137
|
"port": 8080,
|
138
138
|
"bind": "localhost",
|
139
139
|
"threads": 200,
|
140
|
-
"log": {
|
141
|
-
"max_length": 1024,
|
142
|
-
"sensitive_fields": [
|
143
|
-
"password"
|
144
|
-
]
|
145
|
-
},
|
146
140
|
"cache": {
|
147
141
|
"cache_invalidation": 3600,
|
148
142
|
"ignore_headers": [
|
@@ -230,11 +224,24 @@ MacawFramework::Macaw.new(custom_log: nil)
|
|
230
224
|
- URL parameters like `...endOfUrl?key1=value1&key2=value2` can be found in the `context[:params]`
|
231
225
|
|
232
226
|
```ruby
|
227
|
+
m = MacawFramework::Macaw.new
|
228
|
+
|
233
229
|
m.get('/test_params') do |context|
|
234
230
|
context[:params]["key1"] # returns: value1
|
235
231
|
end
|
236
232
|
```
|
237
233
|
|
234
|
+
- You can also set `port`, `bind` and `threads` programmatically as shown below. This will override values set in the
|
235
|
+
`application.json` file
|
236
|
+
|
237
|
+
```ruby
|
238
|
+
m = MacawFramework::Macaw.new
|
239
|
+
|
240
|
+
m.port = 3000
|
241
|
+
m.bind = '0.0.0.0'
|
242
|
+
m.threads = 300
|
243
|
+
```
|
244
|
+
|
238
245
|
- The default number of virtual threads in the thread pool is 200.
|
239
246
|
|
240
247
|
- Rate Limit window should also be specified in seconds. Rate limit will be activated only if the `rate_limiting` config
|
data/lib/macaw_framework.rb
CHANGED
@@ -9,6 +9,7 @@ require_relative "macaw_framework/core/thread_server"
|
|
9
9
|
require_relative "macaw_framework/version"
|
10
10
|
require "prometheus/client"
|
11
11
|
require "securerandom"
|
12
|
+
require "pathname"
|
12
13
|
require "logger"
|
13
14
|
require "socket"
|
14
15
|
require "json"
|
@@ -20,7 +21,8 @@ module MacawFramework
|
|
20
21
|
class Macaw
|
21
22
|
##
|
22
23
|
# Array containing the routes defined in the application
|
23
|
-
attr_reader :routes, :
|
24
|
+
attr_reader :routes, :macaw_log, :config, :jobs
|
25
|
+
attr_accessor :port, :bind, :threads
|
24
26
|
|
25
27
|
##
|
26
28
|
# @param {Logger} custom_log
|
@@ -49,7 +51,7 @@ module MacawFramework
|
|
49
51
|
@endpoints_to_cache = []
|
50
52
|
@prometheus ||= nil
|
51
53
|
@prometheus_middleware ||= nil
|
52
|
-
@
|
54
|
+
@server_class = server
|
53
55
|
end
|
54
56
|
|
55
57
|
##
|
@@ -161,6 +163,7 @@ module MacawFramework
|
|
161
163
|
@macaw_log.info("Number of threads: #{@threads}")
|
162
164
|
@macaw_log.info("---------------------------------")
|
163
165
|
end
|
166
|
+
@server = @server_class.new(self, @endpoints_to_cache, @cache, @prometheus, @prometheus_middleware)
|
164
167
|
server_loop(@server)
|
165
168
|
rescue Interrupt
|
166
169
|
if @macaw_log.nil?
|
@@ -9,18 +9,17 @@ module MacawFramework
|
|
9
9
|
|
10
10
|
@prometheus: untyped
|
11
11
|
@prometheus_middleware: untyped
|
12
|
-
@server:
|
12
|
+
@server: untyped
|
13
13
|
|
14
14
|
@threads: Integer
|
15
15
|
|
16
|
-
|
16
|
+
attr_accessor bind: String
|
17
17
|
attr_reader config: Hash[String, untyped]
|
18
18
|
attr_reader jobs: Array[String]
|
19
19
|
attr_reader macaw_log: Logger?
|
20
|
-
|
20
|
+
attr_accessor port: Integer
|
21
21
|
attr_reader routes: Array[String]
|
22
|
-
|
23
|
-
attr_reader threads: Integer
|
22
|
+
attr_accessor threads: Integer
|
24
23
|
|
25
24
|
def delete: -> nil
|
26
25
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: macaw_framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aria Diniz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: prometheus-client
|