class Pangrid::Servlet

Public Instance Methods

do_GET(request, response) click to toggle source
# File lib/pangrid/frontend/webrick.rb, line 9
def do_GET (request, response)
  template = IO.read(TEMPLATE)
  response.status = 200
  response.content_type = "text/html"
  response.body = template % ""
end
do_POST(request, response) click to toggle source
# File lib/pangrid/frontend/webrick.rb, line 16
def do_POST(request, response)
  input = request.query["filedata"]
  from = Plugin.get(request.query["from"])
  to = Plugin.get(request.query["to"])
  reader = from.new
  writer = to.new
  out = nil

  begin
    out = writer.write(reader.read(input))
  rescue Exception => e
    out = e.inspect
  end

  response.header['Access-Control-Allow-Origin'] = '*'

  case request.path
  when "/"
    template = IO.read(TEMPLATE)
    response.status = 200
    response.content_type = "text/html"
    response.body = template % out
  when "/blob"
    response.status = 200
    response.content_type = "application/octet-stream"
    response.body = out
  when "/json"
    if request.query["to"] == "json"
      response.status = 200
      response.content_type = "text/json"
      response.body = out
    else
      response.status = 200
      response.content_type = "text/json"
      response.body = '{ "error" : "non-json format requested" }'
    end
  end
end