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