Passed
Push — main ( 14c5ed...27af40 )
by Acho
02:02
created

sms_service.go   A

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 20
dl 0
loc 34
c 0
b 0
f 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A smsto.*smsService.SendSingle 0 20 4
1
package smsto
2
3
import (
4
	"context"
5
	"encoding/json"
6
	"net/http"
7
)
8
9
// smsService is the API client for the `/sms` endpoint
10
type smsService service
11
12
// SendSingle Sends a single SMS message to a phone number
13
//
14
// API Docs: https://developers.sms.to/#0eff8134-6ad5-4b61-86f3-28ff18145bfc
15
func (service *smsService) SendSingle(
16
	ctx context.Context,
17
	params *SmsSendSingleRequest,
18
) (*SmsSendSingleResponse, *Response, error) {
19
	request, err := service.client.newRequest(ctx, http.MethodPost, "/sms/send", params)
20
	if err != nil {
21
		return nil, nil, err
22
	}
23
24
	response, err := service.client.do(request)
25
	if err != nil {
26
		return nil, response, err
27
	}
28
29
	status := new(SmsSendSingleResponse)
30
	if err = json.Unmarshal(*response.Body, status); err != nil {
31
		return nil, response, err
32
	}
33
34
	return status, response, nil
35
}
36