class Staticd::API
Constants
- PUBLIC_URI
- VERSION
Public Class Methods
new(params={})
click to toggle source
Calls superclass method
# File lib/staticd/api.rb, line 38 def initialize(params={}) @config = params raise "Missing :domain parameter" unless @config[:domain] raise "Missing :port parameter" unless @config[:port] super end
Private Instance Methods
current_domain()
click to toggle source
# File lib/staticd/api.rb, line 347 def current_domain @current_domain ||= current_site.domain_names.get(params[:domain_name]) unless @current_domain raise APIError, "This domain name (#{params[:domain_name]}) is not " + "attached to the #{current_site} site" end @current_domain end
current_site()
click to toggle source
# File lib/staticd/api.rb, line 340 def current_site unless (@current_site ||= Site.get(params[:site_name])) raise APIError, "This site (#{params[:site_name]}) does not exist" end @current_site end
load_file_attachment(field)
click to toggle source
# File lib/staticd/api.rb, line 333 def load_file_attachment(field) unless params.has_key?(field.to_s) && params[field].has_key?(:tempfile) raise APIError, "No valid #{field} file submitted" end params[field][:tempfile].path end
load_json_body()
click to toggle source
# File lib/staticd/api.rb, line 326 def load_json_body if request.content_type == "application/json" request.body.rewind @json = JSONRequest.parse(request.body.read) end end
ping?(domain, port=80)
click to toggle source
# File lib/staticd/api.rb, line 318 def ping?(domain, port=80) open("http://#{domain}:#{port}/api/#{VERSION}/ping", read_timeout: 1) do |response| response.read == @config[:domain] end rescue false end