execute scriptfile
parent
cbebead2aa
commit
f0951210f2
|
@ -5,6 +5,8 @@ require "./payload.cr"
|
||||||
VERSION = 0.1
|
VERSION = 0.1
|
||||||
port = 3000
|
port = 3000
|
||||||
|
|
||||||
|
args = [] of String
|
||||||
|
|
||||||
OptionParser.parse do |parser|
|
OptionParser.parse do |parser|
|
||||||
parser.banner = "usage: webhooksd <scriptfile> [option]"
|
parser.banner = "usage: webhooksd <scriptfile> [option]"
|
||||||
parser.on "-v", "--version", "Show version" do
|
parser.on "-v", "--version", "Show version" do
|
||||||
|
@ -20,6 +22,28 @@ OptionParser.parse do |parser|
|
||||||
parser.on "-p PORT", "--port=PORT", "Port to listen for connections. Default: 3000" do |p|
|
parser.on "-p PORT", "--port=PORT", "Port to listen for connections. Default: 3000" do |p|
|
||||||
port = p.to_i
|
port = p.to_i
|
||||||
end
|
end
|
||||||
|
|
||||||
|
parser.invalid_option do |flag|
|
||||||
|
STDERR.puts "ERROR: #{flag} is not a valid option."
|
||||||
|
STDERR.puts parser
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
|
|
||||||
|
parser.unknown_args do |x|
|
||||||
|
args = x
|
||||||
|
|
||||||
|
if args.size < 1
|
||||||
|
puts parser
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scriptfile = args[0]
|
||||||
|
|
||||||
|
if File.exists?(scriptfile) == false
|
||||||
|
STDERR.puts "ERROR: #{scriptfile} don't exists."
|
||||||
|
exit 2
|
||||||
end
|
end
|
||||||
|
|
||||||
server = HTTP::Server.new do |context|
|
server = HTTP::Server.new do |context|
|
||||||
|
@ -29,7 +53,12 @@ server = HTTP::Server.new do |context|
|
||||||
payload = Payload.new(context.request)
|
payload = Payload.new(context.request)
|
||||||
|
|
||||||
context.response.content_type = "text/plain"
|
context.response.content_type = "text/plain"
|
||||||
context.response.print payload.to_json
|
if Process.run command: "sh", args: [scriptfile], shell: true,
|
||||||
|
error: STDERR, output: STDOUT, chdir: Process::INITIAL_PWD
|
||||||
|
context.response.print "SUCCESS"
|
||||||
|
else
|
||||||
|
context.response.print "FAILURE"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue