From c64996f593df812bafa39984838c705f1e6ee77b Mon Sep 17 00:00:00 2001 From: muiscript Date: Tue, 2 Apr 2019 00:00:35 +0900 Subject: [PATCH] add Client struct --- miniqiita.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 miniqiita.go diff --git a/miniqiita.go b/miniqiita.go new file mode 100644 index 0000000..6bdf154 --- /dev/null +++ b/miniqiita.go @@ -0,0 +1,33 @@ +package miniqiita + +import ( + "log" + "net/http" + "net/url" + "os" +) + +type Client struct { + BaseURL *url.URL + HTTPClient *http.Client + Token string + Logger *log.Logger +} + +func New(rawBaseURL, token string, logger *log.Logger) (*Client, error) { + baseURL, err := url.Parse(rawBaseURL) + if err != nil { + return nil, err + } + + if logger == nil { + logger = log.New(os.Stderr, "[LOG]", log.LstdFlags) + } + + return &Client{ + BaseURL: baseURL, + HTTPClient: http.DefaultClient, + Token: token, + Logger: logger, + }, nil +}