1
0
mirror of https://github.com/seejohnrun/haste-client.git synced 2026-02-10 09:31:33 +00:00

[UTI-2583] Adapt haste-client to the new API usage rules

This commit is contained in:
Yusuf Yilmaz
2023-01-12 11:48:06 +01:00
parent 45ce09bc88
commit 478c7f24b3
4 changed files with 117 additions and 86 deletions

View File

@@ -6,6 +6,8 @@ module Haste
def initialize
@uploader = Uploader.new(
ENV['HASTE_SERVER'],
ENV['HASTE_SERVER_TOKEN'],
ENV['HASTE_SHARE_SERVER'],
ENV['HASTE_USER'],
ENV['HASTE_PASS'],
ENV['HASTE_SSL_CERTS'])
@@ -20,11 +22,7 @@ module Haste
key = @uploader.upload_raw STDIN.readlines.join
end
# Put together a URL
if ARGV.include?('--raw')
url = "#{@uploader.server_url}/raw/#{key}"
else
url = "#{@uploader.server_url}/#{key}"
end
url = "#{@uploader.share_server_url}/share/#{key}"
# And write data out
if STDOUT.tty?
STDOUT.puts url

View File

@@ -4,22 +4,29 @@ require 'uri'
module Haste
DEFAULT_URL = 'https://hastebin.com'
SERVER_URL = 'https://hastebin.com'
SHARE_SERVER_URL = 'https://hastebin.com'
class Uploader
attr_reader :server_url, :server_user, :server_pass, :ssl_certs
def initialize(server_url = nil, server_user = nil, server_pass = nil, ssl_certs = nil)
@server_url = server_url || Haste::DEFAULT_URL
@server_url = @server_url.dup
@server_url = @server_url.chop if @server_url.end_with?('/')
attr_reader :server_url, :server_token, :share_server_url, :server_user, :server_pass, :ssl_certs
def initialize(server_url = nil, server_token = nil, share_server_url = nil, server_user = nil, server_pass = nil, ssl_certs = nil)
@server_url = generate_url(server_url || Haste::SERVER_URL)
@share_server_url = generate_url(share_server_url || Haste::SHARE_SERVER_URL)
@server_user = server_user
@server_token = server_token
@server_pass = server_pass
@ssl_certs = ssl_certs
end
def generate_url(url)
url = url.dup
url = url.chop if url.end_with?('/')
return url
end
# Take in a path and return a key
def upload_path(path)
fail_with 'No input file given' unless path
@@ -76,6 +83,7 @@ module Haste
end
def connection_config(config)
config.request :authorization, 'Bearer', @server_token if @server_token
config.basic_auth(@server_user, @server_pass) if @server_user
config.adapter Faraday.default_adapter
end