Sha256: 08264dcf4e28ef71d85d229863209e5254667a6635c39e0843a3f21a1662315a

Contents?: true

Size: 853 Bytes

Versions: 1

Compression:

Stored size: 853 Bytes

Contents

module Ray
  class Request
    attr_reader :payloads, :settings

    def initialize(payloads, settings)
      @payloads = payloads
      @settings = settings
    end

    def send
      req = Net::HTTP::Post.new(uri, {'Content-Type' => 'application/json'})
      req.body = { uuid: SecureRandom.uuid, payloads: payloads_content, meta: {} }.to_json
      res = Net::HTTP.start(uri.hostname, uri.port) do |http|
        http.request(req)
      end
    #rescue StandardError
      # Ignore any errors
    end

    def uri
      @uri ||= URI("#{settings[:host]}:#{settings[:port]}")
    end

    def payloads_content
      payloads.map do |payload|
        {
          type: payload.type,
          content: payload.content,
          origin: {
            file: "the file",
            line_number: "123"
          },
        }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-ray-0.1.0 lib/ray/request.rb