1
0
mirror of https://git.sr.ht/~adnano/go-gemini synced 2024-12-04 17:58:14 +01:00
Commit Graph

11 Commits

Author SHA1 Message Date
adnano
916bcce782 mux: Use StatusHandler instead of RedirectHandler 2021-02-20 16:45:37 -05:00
adnano
2c69b88153 handler: Make ServeGemini accept a Context 2021-02-20 15:49:14 -05:00
adnano
0b364cb2dd mux: Reject empty patterns 2021-02-19 18:06:54 -05:00
adnano
b94ed31784 mux: Implement matching of schemes and hostnames 2021-02-17 20:09:42 -05:00
adnano
b704a470a7 Redesign ResponseWriter interface 2021-02-17 13:36:16 -05:00
adnano
cbb2ef363a server: Rename responder to handler 2021-02-15 01:15:23 -05:00
adnano
8c0ff0547d Make ResponseWriter an interface 2021-02-09 09:46:18 -05:00
adnano
050f3d23c5 Rename Responder to Handler 2021-02-08 12:50:52 -05:00
Hugo Wetterberg
68767e6bf0 Add missing error handling
Error handling is currently missing is a couple of places. Most of
them are i/o related.

This change adds checks, an therefore sometimes also has to change
function signatures by adding an error return value. In the case of
the response writer the status and meta handling is changed and this
also breaks the API.

In some places where we don't have any reasonable I've added
assignment to a blank identifier to make it clear that we're ignoring
an error.

text: read the Err() that can be set by the scanner.

client: check if conn.SetDeadline() returns an error.

client: check if req.Write() returns an error.

fs: panic if mime type registration fails.

server: stop performing i/o in Header/Status functions

By deferring the actual header write to the first Write() or Flush()
call we don't have to do any error handling in Header() or Status().

As Server.respond() now defers a ResponseWriter.Flush() instead of
directly flushing the underlying bufio.Writer this has the added
benefit of ensuring that we always write a header
to the client, even if the responder is a complete NOOP.

tofu: return an error if we fail to write to the known hosts writer.
2021-01-09 23:53:07 -05:00
adnano
d2d28c5f26 Remove Redirect and PermanentRedirect functions
Use (*ResponseWriter).WriteHeader instead.
2020-10-31 16:51:10 -04:00
adnano
7df14145d0 Refactor server certificates 2020-10-28 15:03:54 -04:00