breezy_pdf_lite 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +5 -1
- data/breezy_pdf_lite.gemspec +1 -1
- data/lib/breezy_pdf_lite.rb +2 -1
- data/lib/breezy_pdf_lite/intercept.rb +1 -1
- data/lib/breezy_pdf_lite/intercept/html.rb +14 -1
- data/lib/breezy_pdf_lite/render_request.rb +1 -1
- data/lib/breezy_pdf_lite/response.rb +40 -0
- data/lib/breezy_pdf_lite/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f28aeb4e848ca5fdd4e627b2afc3407ac16f0592c0452f5334a02fb685558adf
|
4
|
+
data.tar.gz: fdfafe6f87e2228b496655b3d5ec49496f93c56eb73a6528bba09310196feb81
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6a78e463d423ba56d8c5f74e8d1800417fbdb31df21e6d9983c01590d6cbaa2a56b787614f516a5c35c56db06f22db31ab5d9a5e9ea9c7dd0e236c7eba3eb9f
|
7
|
+
data.tar.gz: f966e01f7eb6ec9aeb1236f7fbd8073d78ba8dd58167294b2b1971557d54245a7ab50008da6e86f728a363f6b71933062c5cf7452dda2342072b1f42bcdfbdb0
|
data/.travis.yml
CHANGED
data/breezy_pdf_lite.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.email = ["daniel@prowestech.com"]
|
12
12
|
|
13
13
|
spec.summary = "Ruby/rack middleware for BreezyPDF Lite. HTML to PDF."
|
14
|
-
spec.license = "
|
14
|
+
spec.license = "GPL-3.0"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
17
17
|
f.match(%r{^(test|spec|features)/})
|
data/lib/breezy_pdf_lite.rb
CHANGED
@@ -17,7 +17,8 @@ module BreezyPDFLite
|
|
17
17
|
autoload :Middleware, "breezy_pdf_lite/middleware"
|
18
18
|
autoload :RenderRequest, "breezy_pdf_lite/render_request"
|
19
19
|
|
20
|
-
|
20
|
+
Error = Class.new(StandardError)
|
21
|
+
RenderError = Class.new(Error)
|
21
22
|
|
22
23
|
mattr_accessor :secret_api_key
|
23
24
|
@@secret_api_key = nil
|
@@ -8,6 +8,10 @@ module BreezyPDFLite::Intercept
|
|
8
8
|
|
9
9
|
render_request = BreezyPDFLite::RenderRequest.new(body).submit
|
10
10
|
|
11
|
+
if render_request.code != "201"
|
12
|
+
raise BreezyPDFLite::RenderError, "Status: #{render_request.status} body: #{render_request.body}"
|
13
|
+
end
|
14
|
+
|
11
15
|
[
|
12
16
|
201,
|
13
17
|
{
|
@@ -32,7 +36,16 @@ module BreezyPDFLite::Intercept
|
|
32
36
|
end
|
33
37
|
|
34
38
|
def body
|
35
|
-
|
39
|
+
case response[2].class.name
|
40
|
+
when "ActionDispatch::Response::RackBody"
|
41
|
+
response[2].body
|
42
|
+
else
|
43
|
+
if response[2].respond_to?(:join)
|
44
|
+
response[2].join
|
45
|
+
else
|
46
|
+
response[2]
|
47
|
+
end
|
48
|
+
end
|
36
49
|
end
|
37
50
|
|
38
51
|
def response
|
@@ -12,7 +12,7 @@ module BreezyPDFLite
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def to_file
|
15
|
-
raise
|
15
|
+
raise RenderError, "#{response.code}: #{response.body}" if response.code != "201"
|
16
16
|
|
17
17
|
@to_file ||= Tempfile.new(%w[response .pdf]).tap do |file|
|
18
18
|
file.binmode
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BreezyPDFLite
|
4
|
+
# RenderRequest -> Net::HTTPResponse wrapper that is streaming compatable
|
5
|
+
class Response
|
6
|
+
def initialize(response)
|
7
|
+
@response = response
|
8
|
+
end
|
9
|
+
|
10
|
+
def status
|
11
|
+
@status ||= @response.code.to_i
|
12
|
+
end
|
13
|
+
|
14
|
+
def headers
|
15
|
+
{
|
16
|
+
"Content-Type" => "application/pdf",
|
17
|
+
"Content-Length" => @response.header["Content-Length"],
|
18
|
+
"Content-Disposition" => @response.header["Content-Disposition"]
|
19
|
+
}
|
20
|
+
end
|
21
|
+
|
22
|
+
def each(&blk)
|
23
|
+
@response.read_body(&blk)
|
24
|
+
end
|
25
|
+
|
26
|
+
def body
|
27
|
+
io = StringIO.new
|
28
|
+
io.binmode
|
29
|
+
|
30
|
+
each do |chunk|
|
31
|
+
io.write chunk
|
32
|
+
end
|
33
|
+
|
34
|
+
io.flush
|
35
|
+
io.rewind
|
36
|
+
|
37
|
+
io
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: breezy_pdf_lite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Westendorf
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -111,11 +111,12 @@ files:
|
|
111
111
|
- lib/breezy_pdf_lite/interceptor.rb
|
112
112
|
- lib/breezy_pdf_lite/middleware.rb
|
113
113
|
- lib/breezy_pdf_lite/render_request.rb
|
114
|
+
- lib/breezy_pdf_lite/response.rb
|
114
115
|
- lib/breezy_pdf_lite/util.rb
|
115
116
|
- lib/breezy_pdf_lite/version.rb
|
116
117
|
homepage:
|
117
118
|
licenses:
|
118
|
-
-
|
119
|
+
- GPL-3.0
|
119
120
|
metadata: {}
|
120
121
|
post_install_message:
|
121
122
|
rdoc_options: []
|