@@ -15,8 +15,8 @@ def send_message(message)
15
15
@stdout . write ( "Content-Length: #{ json_message . length } \r \n \r \n #{ json_message } " )
16
16
end
17
17
18
- # Log a debug message to the editor's output
19
- def debug_message ( message )
18
+ # Log a message to the editor's output panel
19
+ def log_message ( message )
20
20
$stderr. puts ( message )
21
21
end
22
22
end
@@ -119,12 +119,17 @@ def execute(request, params)
119
119
require params [ :server_addon_path ]
120
120
ServerAddon . finalize_registrations! ( @stdout )
121
121
when "server_addon/delegate"
122
- server_addon_name = params . delete ( :server_addon_name )
123
- request_name = params . delete ( :request_name )
124
- ServerAddon . delegate ( server_addon_name , request_name , params )
122
+ server_addon_name = params [ :server_addon_name ]
123
+ request_name = params [ :request_name ]
124
+ ServerAddon . delegate ( server_addon_name , request_name , params . except ( :request_name , :server_addon_name ) )
125
125
end
126
+ request_name = request
127
+ request_name = "#{ params [ :server_addon_name ] } ##{ params [ :request_name ] } " if request == "server_addon/delegate"
128
+ # Since this is a common problem, we show a specific error message to the user, instead of the full stack trace.
129
+ rescue ActiveRecord ::ConnectionNotEstablished
130
+ log_message ( "Request #{ request_name } failed because database connection was not established." )
126
131
rescue => e
127
- send_message ( { error : e . full_message ( highlight : false ) } )
132
+ log_message ( "Request #{ request_name } failed: \n " + e . full_message ( highlight : false ) )
128
133
end
129
134
130
135
private
0 commit comments