From b205c55626b997a932f46e10c7166bf60c0a40de Mon Sep 17 00:00:00 2001 From: Denver Gingerich Date: Wed, 25 Jan 2017 20:24:24 +0000 Subject: [PATCH] support HEAD to fix Conversations "File not found" --- mpx-catapult.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/mpx-catapult.rb b/mpx-catapult.rb index 7ab31b4fbf6ab9eb32cedcb33e73a5953b6ef429..92d686409cdcbbda8989491db8a2cd1b0fef5352 100755 --- a/mpx-catapult.rb +++ b/mpx-catapult.rb @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License along # with sgx-catapult. If not, see . -puts "Soprani.ca/MMS Proxy for XMPP - Catapult v0.001" +puts "Soprani.ca/MMS Proxy for XMPP - Catapult v0.002" require 'goliath' require 'net/http' @@ -66,8 +66,18 @@ class WebhookHandler < Goliath::API uri = URI.parse('https://api.catapult.inetwork.com') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true - request = Net::HTTP::Get.new('/v1/users/' + user_id + - '/media/' + env['REQUEST_PATH'].split('/', 3)[2]) + request = '' + if env['REQUEST_METHOD'] == 'GET' + request = Net::HTTP::Get.new('/v1/users/' + user_id + + '/media/' +env['REQUEST_PATH'].split('/', 3)[2]) + elsif env['REQUEST_METHOD'] == 'HEAD' + request = Net::HTTP::Head.new('/v1/users/' + user_id + + '/media/' +env['REQUEST_PATH'].split('/', 3)[2]) + else + puts 'ERROR: received non-HEAD/-GET request' + return [500, {'Content-Type' => 'text/plain'}, + e.inspect] + end request.basic_auth api_token, api_secret response = http.request(request)