Blob


1 package mailmux
3 import (
4 "fmt"
5 "net/http"
6 "net/url"
7 )
9 const apiurl = "https://mailmux.net/v1/aliases"
11 type Client struct {
12 *http.Client
13 user string
14 token string
15 }
17 func NewClient(user, token string) *Client {
18 return &Client{http.DefaultClient, user, token}
19 }
21 func (c *Client) NewAlias() (Alias, error) {
22 v := url.Values{}
23 v.Add("username", c.user)
24 v.Add("token", c.token)
25 resp, err := http.PostForm(apiurl, v)
26 if err != nil {
27 return Alias{}, err
28 }
29 defer resp.Body.Close()
30 return Alias{}, nil
31 }
33 func (c *Client) Aliases() ([]Alias, error) {
34 v := url.Values{}
35 v.Add("user", c.user)
36 v.Add("token", c.token)
37 req, err := http.NewRequest(http.MethodGet, apiurl, nil)
38 if err != nil {
39 return nil, fmt.Errorf("list aliases: %w", err)
40 }
41 req.URL.RawQuery = v.Encode()
42 resp, err := c.Do(req)
43 if err != nil {
44 return nil, fmt.Errorf("list aliases: %w", err)
45 }
46 defer resp.Body.Close()
47 return nil, nil
48 }