mirror of
https://github.com/cmur2/dyndnsd.git
synced 2024-11-01 00:56:14 +01:00
22 lines
932 B
Ruby
22 lines
932 B
Ruby
|
|
module Dyndnsd
|
|
module Responder
|
|
class RestStyle
|
|
def response_for_error(state)
|
|
# general http errors
|
|
return [405, {"Content-Type" => "text/plain"}, ["Method Not Allowed"]] if state == :method_forbidden
|
|
return [404, {"Content-Type" => "text/plain"}, ["Not Found"]] if state == :not_found
|
|
# specific errors
|
|
return [422, {"Content-Type" => "text/plain"}, ["Hostname missing"]] if state == :hostname_missing
|
|
return [403, {"Content-Type" => "text/plain"}, ["Forbidden"]] if state == :host_forbidden
|
|
return [422, {"Content-Type" => "text/plain"}, ["Hostname malformed"]] if state == :hostname_malformed
|
|
end
|
|
|
|
def response_for_changes(states, ip)
|
|
body = states.map { |state| state == :good ? "Changed to #{ip}" : "No change needed for #{ip}" }.join("\n")
|
|
return [200, {"Content-Type" => "text/plain"}, [body]]
|
|
end
|
|
end
|
|
end
|
|
end
|