Remove some unnecessary errors
This commit is contained in:
		
							parent
							
								
									95716296b4
								
							
						
					
					
						commit
						cec1f118fb
					
				
							
								
								
									
										11
									
								
								client.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								client.go
									
									
									
									
									
								
							@ -128,7 +128,7 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
 | 
			
		||||
			req.Certificate = &cert
 | 
			
		||||
			return c.do(req, via)
 | 
			
		||||
		}
 | 
			
		||||
		return resp, ErrCertificateRequired
 | 
			
		||||
		return resp, nil
 | 
			
		||||
 | 
			
		||||
	case resp.Status.Class() == StatusClassInput:
 | 
			
		||||
		if c.GetInput != nil {
 | 
			
		||||
@ -139,7 +139,7 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
 | 
			
		||||
				return c.do(req, via)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return resp, ErrInputRequired
 | 
			
		||||
		return resp, nil
 | 
			
		||||
 | 
			
		||||
	case resp.Status.Class() == StatusClassRedirect:
 | 
			
		||||
		if via == nil {
 | 
			
		||||
@ -151,12 +151,13 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return resp, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		target = req.URL.ResolveReference(target)
 | 
			
		||||
		redirect, err := NewRequestFromURL(target)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return resp, err
 | 
			
		||||
		if target.Scheme != "" && target.Scheme != "gemini" {
 | 
			
		||||
			return resp, nil
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		redirect := NewRequestFromURL(target)
 | 
			
		||||
		if c.CheckRedirect != nil {
 | 
			
		||||
			if err := c.CheckRedirect(redirect, via); err != nil {
 | 
			
		||||
				return resp, err
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								fs.go
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								fs.go
									
									
									
									
									
								
							@ -96,9 +96,9 @@ func openFile(p string) (File, error) {
 | 
			
		||||
			if stat.Mode().IsRegular() {
 | 
			
		||||
				return f, nil
 | 
			
		||||
			}
 | 
			
		||||
			return nil, ErrNotAFile
 | 
			
		||||
			return nil, os.ErrNotExist
 | 
			
		||||
		} else if !stat.Mode().IsRegular() {
 | 
			
		||||
			return nil, ErrNotAFile
 | 
			
		||||
			return nil, os.ErrNotExist
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return f, nil
 | 
			
		||||
 | 
			
		||||
@ -14,12 +14,8 @@ var (
 | 
			
		||||
	ErrCertificateExpired    = errors.New("gemini: certificate expired")
 | 
			
		||||
	ErrCertificateNotFound   = errors.New("gemini: certificate not found")
 | 
			
		||||
	ErrCertificateNotTrusted = errors.New("gemini: certificate not trusted")
 | 
			
		||||
	ErrCertificateRequired   = errors.New("gemini: certificate required")
 | 
			
		||||
	ErrNotAFile              = errors.New("gemini: not a file")
 | 
			
		||||
	ErrNotAGeminiURL         = errors.New("gemini: not a Gemini URL")
 | 
			
		||||
	ErrBodyNotAllowed        = errors.New("gemini: response status code does not allow for body")
 | 
			
		||||
	ErrBodyNotAllowed        = errors.New("gemini: response body not allowed")
 | 
			
		||||
	ErrTooManyRedirects      = errors.New("gemini: too many redirects")
 | 
			
		||||
	ErrInputRequired         = errors.New("gemini: input required")
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// defaultClient is the default client. It is used by Get and Do.
 | 
			
		||||
 | 
			
		||||
@ -41,15 +41,12 @@ func NewRequest(rawurl string) (*Request, error) {
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return NewRequestFromURL(u)
 | 
			
		||||
	return NewRequestFromURL(u), nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewRequestFromURL returns a new request for the given URL.
 | 
			
		||||
// The host is inferred from the URL.
 | 
			
		||||
func NewRequestFromURL(url *url.URL) (*Request, error) {
 | 
			
		||||
	if url.Scheme != "" && url.Scheme != "gemini" {
 | 
			
		||||
		return nil, ErrNotAGeminiURL
 | 
			
		||||
	}
 | 
			
		||||
func NewRequestFromURL(url *url.URL) *Request {
 | 
			
		||||
	host := url.Host
 | 
			
		||||
	if url.Port() == "" {
 | 
			
		||||
		host += ":1965"
 | 
			
		||||
@ -57,7 +54,7 @@ func NewRequestFromURL(url *url.URL) (*Request, error) {
 | 
			
		||||
	return &Request{
 | 
			
		||||
		URL:  url,
 | 
			
		||||
		Host: host,
 | 
			
		||||
	}, nil
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// write writes the Gemini request to the provided buffered writer.
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user