Class: Fastly::PublishApi

Inherits:
Object
  • Object
show all
Defined in:
lib/fastly/api/publish_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default) ⇒ PublishApi



17
18
19
# File 'lib/fastly/api/publish_api.rb', line 17

def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



15
16
17
# File 'lib/fastly/api/publish_api.rb', line 15

def api_client
  @api_client
end

Instance Method Details

#publish(opts = {}) ⇒ String

Send messages to Fanout subscribers Send one or more messages to [Fanout](developer.fastly.com/learning/concepts/real-time-messaging/fanout) subscribers. Each message specifies a channel, and Fanout will deliver the message to all subscribers of its channel. > IMPORTANT: For compatibility with GRIP, this endpoint requires a trailing slash, and the API token may be provided in the ‘Authorization` header (instead of the `Fastly-Key` header) using the `Bearer` scheme.

Options Hash (opts):

  • :service_id (String)

    Alphanumeric string identifying the service. (required)

  • :publish_request (PublishRequest)


25
26
27
28
# File 'lib/fastly/api/publish_api.rb', line 25

def publish(opts = {})
  data, _status_code, _headers = publish_with_http_info(opts)
  data
end

#publish_with_http_info(opts = {}) ⇒ Array<(String, Integer, Hash)>

Send messages to Fanout subscribers Send one or more messages to [Fanout](developer.fastly.com/learning/concepts/real-time-messaging/fanout) subscribers. Each message specifies a channel, and Fanout will deliver the message to all subscribers of its channel. &gt; IMPORTANT: For compatibility with GRIP, this endpoint requires a trailing slash, and the API token may be provided in the &#x60;Authorization&#x60; header (instead of the &#x60;Fastly-Key&#x60; header) using the &#x60;Bearer&#x60; scheme.

Options Hash (opts):

  • :service_id (String)

    Alphanumeric string identifying the service. (required)

  • :publish_request (PublishRequest)


35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/fastly/api/publish_api.rb', line 35

def publish_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: PublishApi.publish ...'
  end
  # unbox the parameters from the hash
  service_id = opts[:'service_id']
  # verify the required parameter 'service_id' is set
  if @api_client.config.client_side_validation && service_id.nil?
    fail ArgumentError, "Missing the required parameter 'service_id' when calling PublishApi.publish"
  end
  # resource path
  local_var_path = '/service/{service_id}/publish/'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['text/plain'])
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'publish_request'])

  # return_type
  return_type = opts[:debug_return_type] || 'String'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"PublishApi.publish",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PublishApi#publish\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end