diff options
Diffstat (limited to 'dev-ruby/websocket/files')
-rw-r--r-- | dev-ruby/websocket/files/websocket-1.2.9-default-port.patch | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/dev-ruby/websocket/files/websocket-1.2.9-default-port.patch b/dev-ruby/websocket/files/websocket-1.2.9-default-port.patch deleted file mode 100644 index 5830036da62e..000000000000 --- a/dev-ruby/websocket/files/websocket-1.2.9-default-port.patch +++ /dev/null @@ -1,134 +0,0 @@ -https://github.com/imanel/websocket-ruby/commit/736a7515aff808a5c268b87066e928b59aed769e - -From 736a7515aff808a5c268b87066e928b59aed769e Mon Sep 17 00:00:00 2001 -From: Bernard Potocki <bernard.potocki@imanel.org> -Date: Thu, 17 Feb 2022 20:02:21 +0100 -Subject: [PATCH] Ensure correct port is always specified (#48) - ---- a/lib/websocket/handshake/base.rb -+++ b/lib/websocket/handshake/base.rb -@@ -7,7 +7,7 @@ class Base - include ExceptionHandler - include NiceInspect - -- attr_reader :host, :port, :path, :query, -+ attr_reader :host, :path, :query, - :state, :version, :secure, - :headers, :protocols - -@@ -66,6 +66,20 @@ def leftovers - (@leftovers.to_s.split("\n", reserved_leftover_lines + 1)[reserved_leftover_lines] || '').strip - end - -+ # Return default port for protocol (80 for ws, 443 for wss) -+ def default_port -+ secure ? 443 : 80 -+ end -+ -+ # Check if provided port is a default one -+ def default_port? -+ port == default_port -+ end -+ -+ def port -+ @port || default_port -+ end -+ - # URI of request. - # @return [String] Full URI with protocol - # @example -@@ -73,7 +87,7 @@ def leftovers - def uri - uri = String.new(secure ? 'wss://' : 'ws://') - uri << host -- uri << ":#{port}" if port -+ uri << ":#{port}" unless default_port? - uri << path - uri << "?#{query}" if query - uri ---- a/lib/websocket/handshake/client.rb -+++ b/lib/websocket/handshake/client.rb -@@ -61,7 +61,7 @@ def initialize(args = {}) - uri = URI.parse(@url || @uri) - @secure ||= (uri.scheme == 'wss') - @host ||= uri.host -- @port ||= uri.port -+ @port ||= uri.port || default_port - @path ||= uri.path - @query ||= uri.query - end ---- a/lib/websocket/handshake/handler/client04.rb -+++ b/lib/websocket/handshake/handler/client04.rb -@@ -21,7 +21,7 @@ def handshake_keys - %w[Connection Upgrade] - ] - host = @handshake.host -- host += ":#{@handshake.port}" if @handshake.port -+ host += ":#{@handshake.port}" unless @handshake.default_port? - keys << ['Host', host] - keys += super - keys << ['Sec-WebSocket-Origin', @handshake.origin] if @handshake.origin ---- a/lib/websocket/handshake/handler/client75.rb -+++ b/lib/websocket/handshake/handler/client75.rb -@@ -18,7 +18,7 @@ def handshake_keys - %w[Connection Upgrade] - ] - host = @handshake.host -- host += ":#{@handshake.port}" if @handshake.port -+ host += ":#{@handshake.port}" unless @handshake.default_port? - keys << ['Host', host] - keys << ['Origin', @handshake.origin] if @handshake.origin - keys << ['WebSocket-Protocol', @handshake.protocols.first] if @handshake.protocols.any? ---- a/lib/websocket/handshake/server.rb -+++ b/lib/websocket/handshake/server.rb -@@ -129,13 +129,13 @@ def should_respond? - # Host of server according to client header - # @return [String] host - def host -- @headers['host'].to_s.split(':')[0].to_s -+ @host || @headers['host'].to_s.split(':')[0].to_s - end - - # Port of server according to client header -- # @return [String] port -+ # @return [Integer] port - def port -- @headers['host'].to_s.split(':')[1] -+ (@port || @headers['host'].to_s.split(':')[1] || default_port).to_i - end - - private ---- a/spec/support/all_client_drafts.rb -+++ b/spec/support/all_client_drafts.rb -@@ -38,6 +38,10 @@ def validate_request - expect(handshake.query).to eql('aaa=bbb') - end - -+ it 'returns default port' do -+ expect(handshake.port).to be(80) -+ end -+ - it 'returns valid port' do - @request_params = { port: 123 } - expect(handshake.port).to be(123) ---- a/spec/support/all_server_drafts.rb -+++ b/spec/support/all_server_drafts.rb -@@ -47,11 +47,17 @@ def validate_request - expect(handshake.query).to eql('aaa=bbb') - end - -+ it 'returns default port' do -+ handshake << client_request -+ -+ expect(handshake.port).to be(80) -+ end -+ - it 'returns valid port' do - @request_params = { port: 123 } - handshake << client_request - -- expect(handshake.port).to eql('123') -+ expect(handshake.port).to be(123) - end - - it 'returns valid response' do |