1
0
mirror of https://git.sr.ht/~adnano/go-gemini synced 2024-09-29 16:31:18 +02:00

Remove Client struct

Gemini requests are very simple and leave little room for customization,
so a configurable Client is not necessary.
This commit is contained in:
adnano 2020-09-24 01:55:41 -04:00
parent ace66eceb0
commit 891c4fbec4
2 changed files with 7 additions and 11 deletions

@ -12,7 +12,6 @@ import (
"git.sr.ht/~adnano/go-gemini"
)
var client gemini.Client
var cert tls.Certificate
func init() {
@ -37,7 +36,7 @@ func makeRequest(url string) {
}
req.TLSConfig.InsecureSkipVerify = true
req.TLSConfig.Certificates = append(req.TLSConfig.Certificates, cert)
resp, err := client.Do(req)
resp, err := gemini.Do(req)
if err != nil {
log.Fatal(err)
}

@ -176,29 +176,26 @@ func (r *Response) Write(w io.Writer) error {
return nil
}
// Client is a Gemini client.
type Client struct{}
// Request makes a request for the provided URL. The host is inferred from the URL.
func (c *Client) Request(url string) (*Response, error) {
// Get makes a request for the provided URL. The host is inferred from the URL.
func Get(url string) (*Response, error) {
req, err := NewRequest(url)
if err != nil {
return nil, err
}
return c.Do(req)
return Do(req)
}
// ProxyRequest requests the provided URL from the provided host.
func (c *Client) ProxyRequest(host, url string) (*Response, error) {
func ProxyRequest(host, url string) (*Response, error) {
req, err := NewProxyRequest(host, url)
if err != nil {
return nil, err
}
return c.Do(req)
return Do(req)
}
// Do sends a Gemini request and returns a Gemini response.
func (c *Client) Do(req *Request) (*Response, error) {
func Do(req *Request) (*Response, error) {
// Connect to the host
conn, err := tls.Dial("tcp", req.Host, &req.TLSConfig)
if err != nil {