github.com/twilio/twilio-go@v1.20.1/rest/sync/v1/services_streams_messages.go (about)

     1  /*
     2   * This code was generated by
     3   * ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
     4   *  |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
     5   *  |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \
     6   *
     7   * Twilio - Sync
     8   * This is the public Twilio REST API.
     9   *
    10   * NOTE: This class is auto generated by OpenAPI Generator.
    11   * https://openapi-generator.tech
    12   * Do not edit the class manually.
    13   */
    14  
    15  package openapi
    16  
    17  import (
    18  	"encoding/json"
    19  	"net/url"
    20  	"strings"
    21  )
    22  
    23  // Optional parameters for the method 'CreateStreamMessage'
    24  type CreateStreamMessageParams struct {
    25  	// A JSON string that represents an arbitrary, schema-less object that makes up the Stream Message body. Can be up to 4 KiB in length.
    26  	Data *interface{} `json:"Data,omitempty"`
    27  }
    28  
    29  func (params *CreateStreamMessageParams) SetData(Data interface{}) *CreateStreamMessageParams {
    30  	params.Data = &Data
    31  	return params
    32  }
    33  
    34  // Create a new Stream Message.
    35  func (c *ApiService) CreateStreamMessage(ServiceSid string, StreamSid string, params *CreateStreamMessageParams) (*SyncV1StreamMessage, error) {
    36  	path := "/v1/Services/{ServiceSid}/Streams/{StreamSid}/Messages"
    37  	path = strings.Replace(path, "{"+"ServiceSid"+"}", ServiceSid, -1)
    38  	path = strings.Replace(path, "{"+"StreamSid"+"}", StreamSid, -1)
    39  
    40  	data := url.Values{}
    41  	headers := make(map[string]interface{})
    42  
    43  	if params != nil && params.Data != nil {
    44  		v, err := json.Marshal(params.Data)
    45  
    46  		if err != nil {
    47  			return nil, err
    48  		}
    49  
    50  		data.Set("Data", string(v))
    51  	}
    52  
    53  	resp, err := c.requestHandler.Post(c.baseURL+path, data, headers)
    54  	if err != nil {
    55  		return nil, err
    56  	}
    57  
    58  	defer resp.Body.Close()
    59  
    60  	ps := &SyncV1StreamMessage{}
    61  	if err := json.NewDecoder(resp.Body).Decode(ps); err != nil {
    62  		return nil, err
    63  	}
    64  
    65  	return ps, err
    66  }