add /kitty route to get a cat picture from CaaS
This commit is contained in:
parent
62f204fa8b
commit
54a3de77e2
1
Gemfile
1
Gemfile
@ -12,6 +12,7 @@ gem "ulid"
|
|||||||
gem "uuid7"
|
gem "uuid7"
|
||||||
|
|
||||||
gem "jwt"
|
gem "jwt"
|
||||||
|
gem "httparty"
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem "ruby-lsp"
|
gem "ruby-lsp"
|
||||||
|
10
Gemfile.lock
10
Gemfile.lock
@ -4,7 +4,13 @@ GEM
|
|||||||
anyflake (0.0.1)
|
anyflake (0.0.1)
|
||||||
ast (2.4.2)
|
ast (2.4.2)
|
||||||
base64 (0.2.0)
|
base64 (0.2.0)
|
||||||
|
bigdecimal (3.1.8)
|
||||||
|
csv (3.3.0)
|
||||||
diff-lcs (1.6.0)
|
diff-lcs (1.6.0)
|
||||||
|
httparty (0.22.0)
|
||||||
|
csv
|
||||||
|
mini_mime (>= 1.0.0)
|
||||||
|
multi_xml (>= 0.5.2)
|
||||||
json (2.10.1)
|
json (2.10.1)
|
||||||
jwt (2.10.1)
|
jwt (2.10.1)
|
||||||
base64
|
base64
|
||||||
@ -12,8 +18,11 @@ GEM
|
|||||||
language_server-protocol (3.17.0.4)
|
language_server-protocol (3.17.0.4)
|
||||||
lint_roller (1.1.0)
|
lint_roller (1.1.0)
|
||||||
logger (1.6.6)
|
logger (1.6.6)
|
||||||
|
mini_mime (1.1.5)
|
||||||
minitest (5.25.4)
|
minitest (5.25.4)
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
|
multi_xml (0.7.1)
|
||||||
|
bigdecimal (~> 3.1)
|
||||||
mustermann (3.0.3)
|
mustermann (3.0.3)
|
||||||
ruby2_keywords (~> 0.0.1)
|
ruby2_keywords (~> 0.0.1)
|
||||||
nanoid (2.0.0)
|
nanoid (2.0.0)
|
||||||
@ -118,6 +127,7 @@ PLATFORMS
|
|||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
anyflake
|
anyflake
|
||||||
|
httparty
|
||||||
jwt
|
jwt
|
||||||
ksuid
|
ksuid
|
||||||
minitest
|
minitest
|
||||||
|
20
app.rb
20
app.rb
@ -14,6 +14,8 @@ require "anyflake"
|
|||||||
|
|
||||||
require "jwt"
|
require "jwt"
|
||||||
|
|
||||||
|
require "httparty"
|
||||||
|
|
||||||
$LOAD_PATH.unshift File.dirname(__FILE__) + "/lib"
|
$LOAD_PATH.unshift File.dirname(__FILE__) + "/lib"
|
||||||
|
|
||||||
require "config"
|
require "config"
|
||||||
@ -495,3 +497,21 @@ get "/bytes/:size" do
|
|||||||
|
|
||||||
generate_bytes(Integer(n))
|
generate_bytes(Integer(n))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
get "/kitty" do
|
||||||
|
caas_host = ENV.fetch "CAAS_SERVICE_HOST"
|
||||||
|
caas_port = ENV.fetch "CAAS_SERVICE_PORT"
|
||||||
|
url = "http://#{caas_host}:#{caas_port}/"
|
||||||
|
response = HTTParty.head(url)
|
||||||
|
content_type response.headers["content-type"]
|
||||||
|
stream do |out|
|
||||||
|
response = HTTParty.get(url, stream_body: true) do |fragment|
|
||||||
|
if [301, 302].include? fragment.code
|
||||||
|
elsif fragment.code == 200
|
||||||
|
out << fragment
|
||||||
|
else
|
||||||
|
raise StandardError, "non-success status code while streaming #{fragment.code}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user