diff --git a/pb/src/client_container.proto b/pb/src/client_container.proto index 1111f7b20..b9a7aeba0 100644 --- a/pb/src/client_container.proto +++ b/pb/src/client_container.proto @@ -671,6 +671,7 @@ message ServerGenericError { // but gives the client a chance to know why. message ServerRejectionError { optional string error_msg = 1; + optional string error_code = 2; } // route_to: client diff --git a/websocket-gateway/lib/jam_websockets/router.rb b/websocket-gateway/lib/jam_websockets/router.rb index 2815431f2..620563f91 100644 --- a/websocket-gateway/lib/jam_websockets/router.rb +++ b/websocket-gateway/lib/jam_websockets/router.rb @@ -650,7 +650,7 @@ module JamWebsockets send_to_client(client, login_ack) end else - raise SessionError, 'invalid login' + raise SessionError, 'invalid login', 'invalid_login' end end @@ -766,7 +766,7 @@ module JamWebsockets return nil end else - raise SessionError, 'no login data was found in Login message' + raise SessionError, 'no login data was found in Login message', 'invalid_login' end end diff --git a/websocket-gateway/lib/jam_websockets/server.rb b/websocket-gateway/lib/jam_websockets/server.rb index 256c6b0bb..f03ecf11e 100644 --- a/websocket-gateway/lib/jam_websockets/server.rb +++ b/websocket-gateway/lib/jam_websockets/server.rb @@ -27,7 +27,7 @@ module JamWebsockets calling_thread = options[:calling_thread] trust_check = TrustCheck.new(trust_port, options[:cidr]) - @log.info "starting server #{host}:#{port} staleness_time=#{connect_time_stale_client}; reconnect time = #{connect_time_expire_client}, rabbitmq=#{rabbitmq_host}:#{rabbitmq_port}" + @log.info "starting server #{host}:#{port} staleness_time=#{connect_time_stale_client}; reconnect time = #{connect_time_expire_client}, rabbitmq=#{rabbitmq_host}:#{rabbitmq_port} gateway_name=#{gateway_name}" EventMachine.error_handler{|e| @log.error "unhandled error #{e}" diff --git a/websocket-gateway/lib/jam_websockets/session_error.rb b/websocket-gateway/lib/jam_websockets/session_error.rb index 4d8a82166..e321e13fd 100644 --- a/websocket-gateway/lib/jam_websockets/session_error.rb +++ b/websocket-gateway/lib/jam_websockets/session_error.rb @@ -1,4 +1,11 @@ -class SessionError < Exception +class SessionError < StandardError + + attr_accessor :error_code + + def initialize(msg, error_code = nil) + super(msg) + @error_code = error_code + end end diff --git a/websocket-gateway/script/package/upstart-run.sh b/websocket-gateway/script/package/upstart-run.sh index 0df30a0e7..f63efe935 100755 --- a/websocket-gateway/script/package/upstart-run.sh +++ b/websocket-gateway/script/package/upstart-run.sh @@ -24,7 +24,7 @@ main() # and bundle won't run because it thinks it has the wrong versions of gems rm -f Gemfile.lock - JAM_INSTANCE=$JAM_INSTANCE BUILD_NUMBER=$BUILD_NUMBER JAMENV=production exec bundle exec ruby -Ilib bin/websocket_gateway + GATEWAY_NAME="$GATEWAY_NAME" JAM_INSTANCE=$JAM_INSTANCE BUILD_NUMBER=$BUILD_NUMBER JAMENV=production exec bundle exec ruby -Ilib bin/websocket_gateway } [ "$#" -ne 1 ] && ( usage && exit 1 ) || main