txgh-server 1.0.0.beta2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cc18888755f9a82a810401b7ad1430f421780daf
4
- data.tar.gz: 287831fc8f600ee08ea7a23a559642a7a7788ed8
3
+ metadata.gz: b61f30ae875a1c12d037ce7123cece67a1bd4a12
4
+ data.tar.gz: 35536bb56e5cee37208c0c8a8f64e60347a0f88a
5
5
  SHA512:
6
- metadata.gz: 150700006d44e43bd89b6b0c46b9450ab1e67d86b373450b6ee3265683b32eac09fe17a5a221b3389346ebdc1968986e50a9e966d024ba1b26ed2763ebf02807
7
- data.tar.gz: 0e1522e5de9b70ca83aaed87448a01b3409e3008559385391d386edb524ae093673f59110f67d89385cfee28427a94c9762a67e339f2dba49ad4ecb4ae6d8658
6
+ metadata.gz: 5d1655be5e922b9e6157bbc4791ca9dddddc8316df4459d4d3418e127076c2b8933de70dd43de9caab17a6d08a4e978fbde5455425ff43c62c3a832412caa3c0
7
+ data.tar.gz: 1f6ebab2ba51bf04f9e49fb6d03afcb7a7faef63492bcd6a1d84672b7aa5a6a02b5cf43ddbc085ee39338106065ecac198fc4f862c5d97636ab2f5370d72d01b
@@ -0,0 +1,62 @@
1
+ # Taken from https://github.com/fringd/zipline
2
+ # Didn't include zipline gem b/c it depends directly on rails and brings in a
3
+ # ton of useless dependencies
4
+
5
+ require 'stringio'
6
+ require 'zip'
7
+
8
+ # a ZipOutputStream that never rewinds output
9
+ # in order for that to be possible we store only uncompressed files
10
+ module Zipline
11
+ class OutputStream < Zip::OutputStream
12
+
13
+ #we need to be able to hand out own custom output in order to stream to browser
14
+ def initialize(io)
15
+ # Create an io stream thing
16
+ super StringIO.new, true
17
+ # Overwrite it with my own
18
+ @output_stream = io
19
+ end
20
+
21
+ def stream
22
+ @output_stream
23
+ end
24
+
25
+ def put_next_entry(entry_name, size)
26
+ new_entry = Zip::Entry.new(@file_name, entry_name)
27
+
28
+ #THIS IS THE MAGIC, tells zip to look after data for size, crc
29
+ new_entry.gp_flags = new_entry.gp_flags | 0x0008
30
+
31
+ super(new_entry)
32
+
33
+ # Uncompressed size in the local file header must be zero when bit 3
34
+ # of the general purpose flags is set, so set the size after the header
35
+ # has been written.
36
+ new_entry.size = size
37
+ end
38
+
39
+ # just reset state, no rewinding required
40
+ def finalize_current_entry
41
+ if current_entry
42
+ entry = current_entry
43
+ super
44
+ write_local_footer(entry)
45
+ end
46
+ end
47
+
48
+ def write_local_footer(entry)
49
+ @output_stream << [ 0x08074b50, entry.crc, entry.compressed_size, entry.size].pack('VVVV')
50
+ end
51
+
52
+ #never need to do this because we set correct sizes up front
53
+ def update_local_headers
54
+ nil
55
+ end
56
+
57
+ # helper to deal with difference between rubyzip 1.0 and 1.1
58
+ def current_entry
59
+ @currentEntry || @current_entry
60
+ end
61
+ end
62
+ end
@@ -1,3 +1,3 @@
1
1
  module TxghServer
2
- VERSION = '1.0.0.beta2'
2
+ VERSION = '1.0.0'
3
3
  end
data/txgh-server.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.add_dependency 'sinatra', '~> 1.4'
18
18
  s.add_dependency 'sinatra-contrib', '~> 1.4'
19
19
  s.add_dependency 'rubyzip', '>= 1.0', '<= 1.1.2'
20
- s.add_dependency 'txgh', '= 6.0.0.beta1'
20
+ s.add_dependency 'txgh', '~> 5.4'
21
21
 
22
22
  s.require_path = 'lib'
23
23
  s.files = Dir['{lib,spec}/**/*', 'README.md', 'txgh-server.gemspec', 'LICENSE']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: txgh-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Jackowski
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-08-01 00:00:00.000000000 Z
12
+ date: 2016-08-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mime-types
@@ -77,16 +77,16 @@ dependencies:
77
77
  name: txgh
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '='
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 6.0.0.beta1
82
+ version: '5.4'
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '='
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 6.0.0.beta1
89
+ version: '5.4'
90
90
  description: An HTTP server for interacting with txgh.
91
91
  email:
92
92
  - mattjjacko@gmail.com
@@ -95,6 +95,7 @@ executables: []
95
95
  extensions: []
96
96
  extra_rdoc_files: []
97
97
  files:
98
+ - lib/ext/zipline/output_stream.rb
98
99
  - lib/txgh-server.rb
99
100
  - lib/txgh-server/application.rb
100
101
  - lib/txgh-server/download_handler.rb
@@ -158,9 +159,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
159
  version: '0'
159
160
  required_rubygems_version: !ruby/object:Gem::Requirement
160
161
  requirements:
161
- - - ">"
162
+ - - ">="
162
163
  - !ruby/object:Gem::Version
163
- version: 1.3.1
164
+ version: '0'
164
165
  requirements: []
165
166
  rubyforge_project:
166
167
  rubygems_version: 2.2.3