Module: Msf::WebServices::SessionServlet
- Defined in:
- lib/msf/core/web_services/servlet/session_servlet.rb
Class Method Summary collapse
- .api_path ⇒ Object
- .api_path_with_id ⇒ Object
- .get_session ⇒ Object
- .registered(app) ⇒ Object
- .report_session ⇒ Object
- .update_session ⇒ Object
Class Method Details
.api_path ⇒ Object
3 4 5 |
# File 'lib/msf/core/web_services/servlet/session_servlet.rb', line 3 def self.api_path '/api/v1/sessions' end |
.api_path_with_id ⇒ Object
7 8 9 |
# File 'lib/msf/core/web_services/servlet/session_servlet.rb', line 7 def self.api_path_with_id "#{self.api_path}/?:id?" end |
.get_session ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/msf/core/web_services/servlet/session_servlet.rb', line 22 def self.get_session lambda { warden.authenticate! begin sanitized_params = sanitize_params(params, env['rack.request.query_hash']) data = get_db.sessions(sanitized_params) includes = [:host] data = data.first if is_single_object?(data, sanitized_params) set_json_data_response(response: data, includes: includes) rescue => e print_error_and_create_response(error: e, message: 'There was an error retrieving sessions:', code: 500) end } end |
.registered(app) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/msf/core/web_services/servlet/session_servlet.rb', line 11 def self.registered(app) app.get self.api_path, &get_session app.get self.api_path_with_id, &get_session app.post self.api_path, &report_session app.put self.api_path_with_id, &update_session end |
.report_session ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/msf/core/web_services/servlet/session_servlet.rb', line 37 def self.report_session lambda { warden.authenticate! begin job = lambda { |opts| if opts[:session_data] get_db.report_session_dto(opts) else get_db.report_session_host_dto(opts) end } exec_report_job(request, &job) rescue => e print_error_and_create_response(error: e, message: 'There was an error creating the session:', code: 500) end } end |
.update_session ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/msf/core/web_services/servlet/session_servlet.rb', line 55 def self.update_session lambda { warden.authenticate! begin opts = parse_json_request(request, false) tmp_params = sanitize_params(params) opts[:id] = tmp_params[:id] if tmp_params[:id] data = get_db.update_session(opts) set_json_data_response(response: data) rescue => e print_error_and_create_response(error: e, message: 'There was an error updating the session:', code: 500) end } end |