Module: Zenoss::JSONAPI
- Included in:
- Connection
- Defined in:
- lib/zenoss/jsonapi.rb,
lib/zenoss/jsonapi/device_router.rb,
lib/zenoss/jsonapi/events_router.rb,
lib/zenoss/jsonapi/report_router.rb
Defined Under Namespace
Modules: DeviceRouter, EventsRouter, ReportRouter
Constant Summary collapse
- ROUTERS =
{ 'MessagingRouter' => 'messaging', 'EventsRouter' => 'evconsole', 'ProcessRouter' => 'process', 'ServiceRouter' => 'service', 'DeviceRouter' => 'device', 'NetworkRouter' => 'network', 'TemplateRouter' => 'template', 'DetailNavRouter' => 'detailnav', 'ReportRouter' => 'report', 'MibRouter' => 'mib', 'ZenPackRouter' => 'zenpack', }
Instance Method Summary collapse
Instance Method Details
#json_request(router, method, data = {}) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/zenoss/jsonapi.rb', line 37 def json_request(router, method, data={}) raise ZenossError, "Router (#{router}) not found" unless ROUTERS.has_key?(router) req_url = "#{@zenoss_uri}/zport/dmd/#{ROUTERS[router]}_router" req_headers = {'Content-type' => 'application/json; charset=utf-8'} req_body = [{ :action => router, :method => method, :data => data, :type => 'rpc', :tid => @request_number, }].to_json @request_number += 1 resp = @httpcli.post req_url, req_body, req_headers parse_json(resp) end |