webhooksd/src/webhooksd.cr

36 lines
806 B
Crystal

require "http/server"
require "option_parser"
VERSION = 0.1
port = 3000
OptionParser.parse do |parser|
parser.banner = "usage: webhooksd <scriptfile> [option]"
parser.on "-v", "--version", "Show version" do
puts "version #{VERSION}"
exit
end
parser.on "-h", "--help", "Show help" do
puts parser
exit
end
parser.on "-p PORT", "--port=PORT", "Port to listen for connections. Default: 3000" do |p|
port = p.to_i
end
end
server = HTTP::Server.new do |context|
pp context.request
if context.request.method != "POST" || context.request.path != "/"
context.response.status = HTTP::Status::NOT_FOUND
else
context.response.content_type = "text/plain"
context.response.print "Hello world! The time is #{Time.local}"
end
end
address = server.bind_tcp port
server.listen