Move ResponseWriter Conn and TLS methods to Request

This commit is contained in:
Adnan Maolood
2021-02-24 08:24:47 -05:00
parent b488146cc6
commit de339490f4
3 changed files with 19 additions and 21 deletions

View File

@@ -4,6 +4,7 @@ import (
"bufio"
"crypto/tls"
"io"
"net"
"net/url"
)
@@ -26,6 +27,8 @@ type Request struct {
// TLS certificate to present to the other side of the connection.
// This field is ignored by the Gemini server.
Certificate *tls.Certificate
conn net.Conn
}
// NewRequest returns a new request.
@@ -89,3 +92,18 @@ func (r *Request) Write(w io.Writer) error {
}
return bw.Flush()
}
// Conn returns the network connection on which the request was received.
func (r *Request) Conn() net.Conn {
return r.conn
}
// TLS returns information about the TLS connection on which the
// request was received.
func (r *Request) TLS() *tls.ConnectionState {
if tlsConn, ok := r.conn.(*tls.Conn); ok {
state := tlsConn.ConnectionState()
return &state
}
return nil
}