class Hoss::Transport::Serializers::EventSerializer

@api private

Public Instance Methods

build(event) click to toggle source
# File lib/hoss/transport/serializers/event_serializer.rb, line 25
def build(event)
  r = {
      eventId: event.id,
      request: build_request(event.request),
  }
  r['response'] = build_response(event.response) if event.response
  r['error'] = build_error(event.error) if event.error
  r
end

Private Instance Methods

build_error(error) click to toggle source
# File lib/hoss/transport/serializers/event_serializer.rb, line 62
def build_error(error)
  return unless error

  {
    type: error.type,
    receivedAt: error.received_at
  }
end
build_request(request) click to toggle source
# File lib/hoss/transport/serializers/event_serializer.rb, line 37
def build_request(request)
  return unless request
  body = request.body ? Base64.encode64(request.body).strip : nil

  {
    method: request.method,
    url: request.url,
    headers: request.headers,
    body: body || '',
    receivedAt: request.received_at
  }
end
build_response(response) click to toggle source
# File lib/hoss/transport/serializers/event_serializer.rb, line 50
def build_response(response)
  return unless response
  body = response.body ? Base64.encode64(response.body).strip : nil

  {
    statusCode: response.status_code,
    headers: response.headers,
    body: body || '',
    receivedAt: response.received_at
  }
end