module Pomf

Public Class Methods

upload_file(filepath, upload = 'https://pomf.cat/upload.php', result = 'https://a.pomf.cat/') click to toggle source
# File lib/pomf.rb, line 18
def self.upload_file(filepath, upload = 'https://pomf.cat/upload.php', result = 'https://a.pomf.cat/')
  mime = nil
  file = File.new(filepath)
  url = URI.parse(upload)
  res = nil
  File.open(file.path) do |toup|
    req = Net::HTTP::Post::Multipart.new url.path,
      "files[]" => UploadIO.new(toup, mime, File.basename(toup.path))
    res = Net::HTTP.start(url.host,url.port, :use_ssl => url.scheme == 'https') do |http|
      http.request(req)
    end
    res = res.body rescue res
  end
  
  begin
    res = JSON.parse(res)
  rescue
    puts "Unable to parse json response: Got response #{res}"
    exit
  end
  
  if res["success"]
    return "#{res["files"].first["url"]}"
  else
    raise "Error: " + res.to_s
  end
end