gopher2000 0.6.0 → 0.7.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
  SHA256:
3
- metadata.gz: 05440b94bdcba92868c266dc870e2f02dd6b8ee3b35eba7e36ab249e83f0c6a2
4
- data.tar.gz: ea7ff86a026674b32b9fc97eb95f9570ee891f225223ac8dce44e21e270beb22
3
+ metadata.gz: 19b561b19d0fa24ac49b9a81f574ac7ace0e765c7a3a3c2bb78696ae5ee16c3b
4
+ data.tar.gz: ea4649778687da99f0379887f8ed14b01e86b9261ce14fd07ae36bf28847e741
5
5
  SHA512:
6
- metadata.gz: ad90ce2be868b1a48aff886f032a5cc6f0549f3bb9b5a303731122903fd0ffdfa2b21828ab36fbb4b22f4ee077e562c19cace429896ddd4344d4b4d3081fa186
7
- data.tar.gz: 70c4629423e7fc88a0271199a76d364d964125209bfe395eeea1d1a46ff8288344e9c277caab784a7a884f9cf9ecfea2492be7afec668610853fb06d3877607c
6
+ metadata.gz: f54ff0399db699bd72306db078ec6dbad629d4404ffb26516bc086ef0f9db4b6c34a094add87449c0b21eaf7b6d46cb351a6c555a15083a2155d8f123038e85c
7
+ data.tar.gz: c8e3b3eea78ed4faae68f7c2399dbfafce3097430e0e5c873fd201664c6b909e9c1bfd3541dc5778d134607c18e649397b7f2d7fb1db01749330926b09e6b522
@@ -27,15 +27,21 @@ module Gopher
27
27
  #
28
28
  def receive_data data
29
29
  (@buf ||= '') << data
30
-
30
+ first_line = true
31
+
32
+ ip_address = remote_ip
31
33
  while line = @buf.slice!(/(.*)\r?\n/)
32
- receive_line(line)
34
+ is_proxy = first_line && line.match?(/^PROXY TCP[4,6] /)
35
+ receive_line(line, ip_address) unless is_proxy
36
+ ip_address = line.split(/ /)[2] if is_proxy
37
+
38
+ first_line = false
33
39
  end
34
40
  end
35
41
 
36
42
  # Invoked with lines received over the network
37
- def receive_line(line)
38
- call! Request.new(line, remote_ip)
43
+ def receive_line(line, ip_address)
44
+ call! Request.new(line, ip_address)
39
45
  end
40
46
 
41
47
  #
@@ -1,4 +1,4 @@
1
1
  module Gopher
2
2
  # current version of the app
3
- VERSION = "0.6.0"
3
+ VERSION = "0.7.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gopher2000
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin Mitchell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-06 00:00:00.000000000 Z
11
+ date: 2022-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -241,24 +241,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
241
241
  - !ruby/object:Gem::Version
242
242
  version: '0'
243
243
  requirements: []
244
- rubygems_version: 3.0.8
244
+ rubygems_version: 3.0.3
245
245
  signing_key:
246
246
  specification_version: 4
247
247
  summary: Gopher2000 - A Gopher server for the next millenium
248
- test_files:
249
- - spec/application_spec.rb
250
- - spec/dispatching_spec.rb
251
- - spec/dsl_spec.rb
252
- - spec/gopher_spec.rb
253
- - spec/handlers/directory_handler_spec.rb
254
- - spec/helpers_spec.rb
255
- - spec/rendering/base_spec.rb
256
- - spec/rendering/menu_spec.rb
257
- - spec/rendering_spec.rb
258
- - spec/request_spec.rb
259
- - spec/response_spec.rb
260
- - spec/routing_spec.rb
261
- - spec/sandbox/old/socks.txt
262
- - spec/sandbox/socks.txt
263
- - spec/server_spec.rb
264
- - spec/spec_helper.rb
248
+ test_files: []