sms

package module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2024 License: MIT Imports: 1 Imported by: 0

README

Go SMS

Go Version GoDoc codecov Go Report Card lint test MIT license

Installation

go get github.com/flc1125/go-sms

Usage

sms with driver
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/flc1125/go-sms"
	"github.com/flc1125/go-sms/driver/writer"
)

func main() {
	s := sms.New(
		writer.NewDriver(os.Stdout),
	)
	resp, err := s.Send(context.Background(), &sms.Request{
		Phone:   "1234567890",
		Content: "test",
	})
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, resp.Message)

	// Output: writer: send sms {1234567890 test <nil>}
}
Drivers

License

The MIT License (MIT). Please see License File for more information.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func New

func New(driver Driver) *Client

func (*Client) Send

func (c *Client) Send(ctx context.Context, req *Request) (*Response, error)

type Driver

type Driver interface {
	Send(ctx context.Context, req *Request) (*Response, error)
}

type Request

type Request struct {
	IDDCode string       `json:"idd_code"`
	Phone   string       `json:"phone"`
	Content string       `json:"content"`
	Extra   RequestExtra `json:"extra"`
}

type RequestExtra

type RequestExtra interface {
	IsRequestExtra()
}

type Response

type Response struct {
	Status  Status        `json:"status"`
	Message string        `json:"message"`
	Extra   ResponseExtra `json:"extra"`
}

type ResponseExtra

type ResponseExtra interface {
	IsResponseExtra()
}

type Status

type Status int
const (
	Success Status = 0
	Failed  Status = -1
)

func (Status) Int

func (s Status) Int() int

type UnimplementedRequestExtra

type UnimplementedRequestExtra struct{}

func (*UnimplementedRequestExtra) IsRequestExtra

func (u *UnimplementedRequestExtra) IsRequestExtra()

type UnimplementedResponseExtra

type UnimplementedResponseExtra struct{}

func (*UnimplementedResponseExtra) IsResponseExtra

func (u *UnimplementedResponseExtra) IsResponseExtra()

Directories

Path Synopsis
driver

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL