mlserver 1.0.2 → 1.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 86fe66bb2ece6aa1aeb92f25f69b88d266f8743bf9b931aa40bfdd1a22945fba
4
- data.tar.gz: f1a46e419ab1b5474006064c28593a14f1f741bc6bdfd95fa68463bb45507346
3
+ metadata.gz: fa32313f873d777ffa2e6dac3728f18534a2d6e14781cfb59e72a4bf57b11d26
4
+ data.tar.gz: b8990d0a7a317ce820a069d39069a4e6892a3b7b87fa76acf95b447a485bde79
5
5
  SHA512:
6
- metadata.gz: 9e0813a7844e61e75e1fb5bc95271bed3c1f7af903055aa16e8293d0c588669e67c172f05810d3dd7b74d1ca49351a771ef34877b88c2eddb78066aca3166bb9
7
- data.tar.gz: 39c3f002aa07a6fd5e36e69748b1a0432d3d6bf7e9d438efd0ff977660d40c4bb6ce4322e8014d05dcd2df01d8bea99390412ec4358edfb1c2e1e522426c94ef
6
+ metadata.gz: 925961276ec536d2f2715a31a317f9c2d2cd04c346cfd09e50a4880a05c5d9dd4d238f3aa597a50eccad49495353210b1909f39394826beaadc737f819a7e4e3
7
+ data.tar.gz: 01c73e8bc98be2609c59da4086bc8759f259c279172528b4fa059ba46beb480ae7a3d0be20060dd9493b78880b6164ac3d38a89cc475d4cd137000175fc4eeac
data/bin/mlserver CHANGED
@@ -31,4 +31,8 @@ Dir.chdir(File.dirname full_conf_file_path)
31
31
 
32
32
  require full_conf_file_path
33
33
 
34
- MLserver::Server.start()
34
+ begin
35
+ MLserver::Server.start()
36
+ rescue Interrupt
37
+ MLserver.settings.logger.log("\nReceived Interrupt, Exiting...", :error)
38
+ end
@@ -11,6 +11,7 @@ module MLserver
11
11
  ssl_port = settings.ssl_port
12
12
  handler = settings.handler
13
13
  logger = settings.logger
14
+ @@use_http_versions = @@valid_http_versions - (@@valid_http_versions - settings.use_http_versions)
14
15
 
15
16
  logger.log "MLserver #{MLserver.version}"
16
17
 
@@ -44,6 +45,10 @@ module MLserver
44
45
  logger.log "SSL error occured: #{e}", :error
45
46
  client.close if client
46
47
  next
48
+ rescue Errno::ECONNRESET => e
49
+ logger.log "SSL Connection reset: #{e}", :error
50
+ client.close if client
51
+ next
47
52
  end
48
53
 
49
54
  Thread.start(client) do |client|
@@ -79,7 +84,7 @@ module MLserver
79
84
 
80
85
  logger.log_traffic client.peeraddr[2], :incoming, "#{r.method} #{r.path} #{r.httpver}"
81
86
 
82
- if !@@valid_http_versions.include?(r.httpver)
87
+ if !@@use_http_versions.include?(r.httpver)
83
88
  client_ip = client.peeraddr[2]
84
89
 
85
90
  resp = MLserver::ErrorResponse.new(505)
@@ -103,6 +108,12 @@ module MLserver
103
108
  end
104
109
  end
105
110
 
111
+ if MLserver.settings.trim_urls && r.path != "/" && r.path[-1] == "/"
112
+ r.respond RedirectResponse.new(r.path[0..-2], type: 301, httpver: "HTTP/1.0").response
113
+ client.close
114
+ Thread.exit
115
+ end
116
+
106
117
  begin
107
118
  handler.run(r, client)
108
119
  rescue => e
@@ -2,7 +2,7 @@ module MLserver
2
2
  @@settings = nil
3
3
 
4
4
  class Settings
5
- def initialize(host: "0.0.0.0", port: "5555")
5
+ def initialize(host: "0.0.0.0", port: "8080")
6
6
  @host = host
7
7
  @port = port.to_i
8
8
  @handler = nil
@@ -14,9 +14,12 @@ module MLserver
14
14
  @ssl_additional_certs = []
15
15
  @ssl_host = nil
16
16
  @ssl_port = nil
17
+ @trim_urls = false
18
+ @use_http_versions = ["HTTP/1.0", "HTTP/1.1"]
17
19
  end
18
20
 
19
- attr_accessor :host, :port, :handler, :logger, :force_host, :ssl, :ssl_key, :ssl_cert, :ssl_additional_certs, :ssl_host, :ssl_port
21
+ attr_accessor :host, :port, :handler, :logger, :force_host, :ssl, :ssl_key, :ssl_cert, :ssl_additional_certs, :ssl_host, :ssl_port,
22
+ :trim_urls, :use_http_versions
20
23
  end
21
24
 
22
25
  def self.settings
data/lib/MLserver.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module MLserver
2
2
  def self.version
3
- "1.0.2"
3
+ "1.0.4"
4
4
  end
5
5
  end
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mlserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-08 00:00:00.000000000 Z
11
+ date: 2024-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: argparse
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.3
33
+ version: 0.3.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.3
40
+ version: 0.3.4
41
41
  description: A simple web server
42
42
  email: matthias@matthiasclee.com
43
43
  executables:
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  requirements: []
79
- rubygems_version: 3.1.6
79
+ rubygems_version: 3.2.3
80
80
  signing_key:
81
81
  specification_version: 4
82
82
  summary: A simple web server