mlserver 1.0.1 → 1.0.3

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: 565870637b0850519fc89c56d3aa2dbf8a400d26577440d81b1db195ce4eae78
4
- data.tar.gz: 8632c4624dcd90c02a76ba2437a92ca74d3fa4d93c709f3e75b0332f0f5b668b
3
+ metadata.gz: 22e124eded055286605b8d9ba7a590695492e2c2b939248789c21e756ecccb29
4
+ data.tar.gz: 5ed4807343ab09b99b54c4744474378c84aed218722d009b58661fcc21a6dd54
5
5
  SHA512:
6
- metadata.gz: beb25988af8aeda7895d8fbc794c1cf9f4c3d6b9efc32ad9886bf09534eff26c525d0d2a5108d34d0d265029524d3c9a4615fc1d36df7ad2420dc0e450ea9d89
7
- data.tar.gz: a07ce050c8f7efd559218c5ed1ca9f852aa582cb0186ff35f7ac644e3dedc0849fda84d0cabbf4dbff9bf6a4b4d035f257b7a509eee7e7128b4fa35eac4f3e54
6
+ metadata.gz: eca4cf68f62a8657eb51707be102851effe47eec6f83ef36512a8e97de4adc7fccdd7d117aee58a0d6d505c8ba480eec5c97833a148a97465cf710648f6c3315
7
+ data.tar.gz: e078bf1f0e085ea495fff726df178715c038170e3a516e95a42c371ef4d036791dd48a5ce7811224c5fcdc5565672fee40edb28b2c77d8774faaf376b02e2ec4
data/bin/mlserver CHANGED
@@ -11,6 +11,28 @@ s = {}
11
11
  x = ArgsParser::Args.new(options: o, switches: s)
12
12
 
13
13
  conf_file = x.data[0]
14
- require_relative conf_file
15
14
 
16
- MLserver::Server.start()
15
+ if !conf_file
16
+ conf_file = "mlserver.conf.rb"
17
+ end
18
+
19
+ if File.directory?(conf_file)
20
+ conf_file = "#{conf_file}/mlserver.conf.rb"
21
+ end
22
+
23
+ if !File.exist?(conf_file)
24
+ STDERR.puts "Error: Conf file does not exist"
25
+ exit 1
26
+ end
27
+
28
+ full_conf_file_path = File.expand_path(conf_file, Dir.pwd)
29
+
30
+ Dir.chdir(File.dirname full_conf_file_path)
31
+
32
+ require full_conf_file_path
33
+
34
+ begin
35
+ MLserver::Server.start()
36
+ rescue Interrupt
37
+ MLserver.settings.logger.log("\nReceived Interrupt, Exiting...", :error)
38
+ end
@@ -1,12 +1,13 @@
1
1
  module MLserver
2
2
  class Logger
3
- @@log_levels = [:info, :warn, :error]
3
+ @@log_levels = [:info, :warn, :error, :traffic_in, :traffic_out]
4
4
 
5
- def initialize(out:, err:, log_colors: {}, outputs: {error: :err})
5
+ def initialize(out:, err:, log_colors: {}, outputs: {error: :err}, levels_with_timestamp: [:traffic_in, :traffic_out])
6
6
  @out = out
7
7
  @err = err
8
8
  @log_colors = log_colors
9
9
  @outputs = outputs
10
+ @levels_with_timestamp = levels_with_timestamp
10
11
  end
11
12
 
12
13
  def log(message, level = :info)
@@ -16,6 +17,9 @@ module MLserver
16
17
  if @log_colors[level]
17
18
  message = message.color @log_colors[level]
18
19
  end
20
+
21
+ message = "#{Time.now} | #{message}" if @levels_with_timestamp.include?(level)
22
+
19
23
  out.puts message
20
24
  end
21
25
 
@@ -38,13 +42,15 @@ module MLserver
38
42
  def log_traffic(ip, direction, data)
39
43
  symbol = (direction == :incoming ? "=>" : "<=")
40
44
 
41
- log("#{format_ip_address ip} #{symbol} #{data}")
45
+ log("#{format_ip_address ip} #{symbol} #{data}", (direction == :incoming ? :traffic_in : :traffic_out))
42
46
  end
43
47
  end
44
48
 
45
49
  dlcolors = {
46
50
  warn: :yellow,
47
- error: :red
51
+ error: :red,
52
+ traffic_in: :green,
53
+ traffic_out: :blue
48
54
  }
49
55
 
50
56
  DefaultLogger = Logger.new(out: STDOUT, err: STDERR, log_colors: dlcolors)
@@ -103,6 +103,12 @@ module MLserver
103
103
  end
104
104
  end
105
105
 
106
+ if MLserver.settings.trim_urls && r.path != "/" && r.path[-1] == "/"
107
+ r.respond RedirectResponse.new(r.path[0..-2], type: 301, httpver: "HTTP/1.0").response
108
+ client.close
109
+ Thread.exit
110
+ end
111
+
106
112
  begin
107
113
  handler.run(r, client)
108
114
  rescue => e
@@ -14,9 +14,11 @@ module MLserver
14
14
  @ssl_additional_certs = []
15
15
  @ssl_host = nil
16
16
  @ssl_port = nil
17
+ @trim_urls = false
17
18
  end
18
19
 
19
- attr_accessor :host, :port, :handler, :logger, :force_host, :ssl, :ssl_key, :ssl_cert, :ssl_additional_certs, :ssl_host, :ssl_port
20
+ attr_accessor :host, :port, :handler, :logger, :force_host, :ssl, :ssl_key, :ssl_cert, :ssl_additional_certs, :ssl_host, :ssl_port,
21
+ :trim_urls
20
22
  end
21
23
 
22
24
  def self.settings
data/lib/MLserver.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module MLserver
2
2
  def self.version
3
- "1.0.1"
3
+ "1.0.3"
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.1
4
+ version: 1.0.3
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-05-29 00:00:00.000000000 Z
11
+ date: 2023-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: argparse