mlserver 1.0.2 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
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