github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/proxy/ruby/proxy.rb (about)

     1  require 'net/http'
     2  require 'json'
     3  
     4  $registry_uri = URI("http://localhost:8081/registry")
     5  $uri = URI("http://localhost:8081")
     6  
     7  def register(service)
     8    http = Net::HTTP.new($registry_uri.host, $registry_uri.port)
     9    request = Net::HTTP::Post.new($registry_uri.request_uri)
    10    request.content_type = 'application/json'
    11    request.body = service.to_json
    12    http.request(request)
    13  end
    14  
    15  def deregister(service)
    16    http = Net::HTTP.new($registry_uri.host, $registry_uri.port)
    17    request = Net::HTTP::Delete.new($registry_uri.request_uri)
    18    request.content_type = 'application/json'
    19    request.body = service.to_json
    20    http.request(request)
    21  end
    22  
    23  def rpc_call(path, req)
    24    http = Net::HTTP.new($uri.host, $uri.port)
    25    request = Net::HTTP::Post.new(path)
    26    request.content_type = 'application/json'
    27    request.body = req.to_json
    28    JSON.parse(http.request(request).body)
    29  end
    30  
    31  def http_call(path, req)
    32    http = Net::HTTP.new($uri.host, $uri.port)
    33    request = Net::HTTP::Post.new(path)
    34    request.set_form_data(req)
    35    http.request(request).body
    36  end