18 lines
319 B
Crystal
18 lines
319 B
Crystal
require "kemal"
|
|
|
|
strategies_dir = ENV.fetch("STRATEGIES_DIR")
|
|
|
|
post "/:strategy" do |env|
|
|
stdout = IO::Memory.new
|
|
Process.run(
|
|
"#{strategies_dir}/#{env.params.url["strategy"]}",
|
|
[
|
|
env.params.query.to_h.to_json,
|
|
env.params.json.to_json
|
|
],
|
|
output: stdout,
|
|
)
|
|
stdout.to_s
|
|
end
|
|
|
|
Kemal.run
|