From 0c963ffa7c01f9449f6c6c522964d699439d2d11 Mon Sep 17 00:00:00 2001 From: bumi Date: Wed, 21 Nov 2018 21:11:17 +0100 Subject: [PATCH] Add support to path macaraoon hex directly --- example.rb | 9 ++++++--- lib/faraday_ln_paywall/middleware.rb | 8 +++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/example.rb b/example.rb index 2de468a..5709fa5 100644 --- a/example.rb +++ b/example.rb @@ -2,8 +2,11 @@ require "bundler/setup" require "faraday_ln_paywall" require "faraday" -conn = Faraday.new(:url => 'https://api.lightning.ws') do |faraday| - faraday.use FaradayLnPaywall::Middleware, { max_amount: 100 } +conn = Faraday.new(:url => 'https://fourohtwo.herokuapp.com') do |faraday| + faraday.use FaradayLnPaywall::Middleware, { + max_amount: 1000, + timeout: 300 + } faraday.adapter Faraday.default_adapter end -puts conn.get("/translate?text=Hallo%20Welt&to=en").body +puts conn.get("/402").body diff --git a/lib/faraday_ln_paywall/middleware.rb b/lib/faraday_ln_paywall/middleware.rb index b63d95d..271f47b 100644 --- a/lib/faraday_ln_paywall/middleware.rb +++ b/lib/faraday_ln_paywall/middleware.rb @@ -14,8 +14,10 @@ module FaradayLnPaywall @options[:address] ||= 'localhost:10009' @options[:timeout] ||= 5 @options[:credentials] ||= File.read(File.expand_path(@options[:credentials_path] || "~/.lnd/tls.cert")) - macaroon_binary ||= File.read(File.expand_path(@options[:macaroon_path] || "~/.lnd/data/chain/bitcoin/testnet/admin.macaroon")) - @options[:macaroon] = macaroon_binary.each_byte.map { |b| b.to_s(16).rjust(2,'0') }.join + @options[:macaroon] ||= begin + macaroon_binary = ::File.read(::File.expand_path(@options[:macaroon_path] || "~/.lnd/data/chain/bitcoin/testnet/admin.macaroon")) + macaroon_binary.each_byte.map { |b| b.to_s(16).rjust(2,'0') }.join + end @lnd_client = Lnrpc::Lightning::Stub.new(@options[:address], GRPC::Core::ChannelCredentials.new(@options[:credentials])) end @@ -50,7 +52,7 @@ module FaradayLnPaywall payment = pay(response_env) if payment && payment.payment_error == "" preimage = payment.payment_preimage.each_byte.map { |b| b.to_s(16).rjust(2, '0') }.join - request_env[:request_headers].merge!({'X-Preimage' => preimage}) + request_env[:request_headers].merge!('X-Preimage' => preimage) @app.call(request_env) else raise PaymentError, payment.payment_error