From 71c72156c48eef6bf79ae88e0353323e044503b6 Mon Sep 17 00:00:00 2001 From: Alexande B Date: Thu, 15 Jul 2021 16:43:44 +0200 Subject: [PATCH] metanorma/metanorma#202 add socksify dependency and support SOCKS_PROXY env var --- exe/metanorma | 16 +++++++++++++++- metanorma-cli.gemspec | 2 ++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/exe/metanorma b/exe/metanorma index a25361ad..33468daa 100755 --- a/exe/metanorma +++ b/exe/metanorma @@ -17,4 +17,18 @@ end # start up the CLI require "metanorma/cli" -Metanorma::Cli.start(ARGV) +metanorma_cli = proc { Metanorma::Cli.start(ARGV) } +if ENV["SOCKS_PROXY"] + require "socksify" + require "uri" + begin + proxy = URI.parse(ENV["SOCKS_PROXY"]) + Socksify::proxy(proxy.host, proxy.port, &metanorma_cli) + rescue URI::InvalidURIError + warn "Value of ENV.SOCKS_PROXY=#{ENV['SOCKS_PROXY']} is invalid! Droping it" + ENV.delete("SOCKS_PROXY") + metanorma_cli.call + end +else + metanorma_cli.call +end diff --git a/metanorma-cli.gemspec b/metanorma-cli.gemspec index 9acccc82..5e46eb0b 100644 --- a/metanorma-cli.gemspec +++ b/metanorma-cli.gemspec @@ -58,4 +58,6 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency "metanorma-ogc", "~> 1.3.0" spec.add_runtime_dependency "metanorma-un", "~> 0.6.0" spec.add_runtime_dependency "relaton-cli", ">= 0.8.2" + + spec.add_runtime_dependency "socksify" end