Use ws protocol in streaming API base URL (#2606)
This commit is contained in:
		
							parent
							
								
									629a4d0fca
								
							
						
					
					
						commit
						0cdcf32865
					
				
					 2 changed files with 3 additions and 13 deletions
				
			
		|  | @ -1,17 +1,7 @@ | ||||||
| import WebSocketClient from 'websocket.js'; | import WebSocketClient from 'websocket.js'; | ||||||
| 
 | 
 | ||||||
| const createWebSocketURL = (url) => { |  | ||||||
|   const a = document.createElement('a'); |  | ||||||
| 
 |  | ||||||
|   a.href     = url; |  | ||||||
|   a.href     = a.href; |  | ||||||
|   a.protocol = a.protocol.replace('http', 'ws'); |  | ||||||
| 
 |  | ||||||
|   return a.href; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| export default function getStream(streamingAPIBaseURL, accessToken, stream, { connected, received, disconnected, reconnected }) { | export default function getStream(streamingAPIBaseURL, accessToken, stream, { connected, received, disconnected, reconnected }) { | ||||||
|   const ws = new WebSocketClient(`${createWebSocketURL(streamingAPIBaseURL)}/api/v1/streaming/?access_token=${accessToken}&stream=${stream}`); |   const ws = new WebSocketClient(`${streamingAPIBaseURL}/api/v1/streaming/?access_token=${accessToken}&stream=${stream}`); | ||||||
| 
 | 
 | ||||||
|   ws.onopen      = connected; |   ws.onopen      = connected; | ||||||
|   ws.onmessage   = e => received(JSON.parse(e.data)); |   ws.onmessage   = e => received(JSON.parse(e.data)); | ||||||
|  |  | ||||||
|  | @ -12,9 +12,9 @@ Rails.application.configure do | ||||||
|   config.x.use_s3       = ENV['S3_ENABLED'] == 'true' |   config.x.use_s3       = ENV['S3_ENABLED'] == 'true' | ||||||
| 
 | 
 | ||||||
|   config.action_mailer.default_url_options = { host: web_host, protocol: https ? 'https://' : 'http://', trailing_slash: false } |   config.action_mailer.default_url_options = { host: web_host, protocol: https ? 'https://' : 'http://', trailing_slash: false } | ||||||
|   config.x.streaming_api_base_url          = 'http://localhost:4000' |   config.x.streaming_api_base_url          = 'ws://localhost:4000' | ||||||
| 
 | 
 | ||||||
|   if Rails.env.production? |   if Rails.env.production? | ||||||
|     config.x.streaming_api_base_url = ENV.fetch('STREAMING_API_BASE_URL') { "http#{https ? 's' : ''}://#{web_host}" } |     config.x.streaming_api_base_url = ENV.fetch('STREAMING_API_BASE_URL') { "ws#{https ? 's' : ''}://#{web_host}" } | ||||||
|   end |   end | ||||||
| end | end | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue