1
0
mirror of https://git.sr.ht/~adnano/go-gemini synced 2024-09-19 18:53:43 +02:00
Commit Graph

25 Commits

Author SHA1 Message Date
adnano
6423382749 fs: Show listing for directories without index files 2021-02-17 00:08:14 -05:00
adnano
5b8b7b436e fs: Remove leading slash before opening files 2021-02-16 23:18:37 -05:00
adnano
55aa05307f fs: Replace FileSystem with io/fs.FS 2021-02-16 18:53:56 -05:00
adnano
99cac894e9 fs: Refactor 2021-02-14 19:50:38 -05:00
adnano
7830eced63 fs: Update documentation 2021-02-14 19:27:56 -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
adnano
296f4fe027 fs: Remove unused import 2021-01-14 22:45:09 -05:00
adnano
5721d60ff5 fs: Update comments 2021-01-14 22:27:56 -05:00
adnano
7896015511 fs: Don't panic on mime.AddExtensionType error
It's probably best not to panic if this fails.
2021-01-14 22:25:09 -05:00
adnano
0217da3075 fs: Update comments 2021-01-14 22:24:26 -05:00
adnano
cd988d85ae Simplify ResponseWriter implementation 2021-01-10 00:50:35 -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
082175ea16 Rename (*ResponseWriter).SetMimetype to SetMediaType 2020-11-09 13:44:42 -05:00
adnano
1fb24b625f Remove some unnecessary errors 2020-11-04 23:46:05 -05:00
adnano
ddd6215dcc Use strings.Builder in Fingerprint 2020-10-28 15:14:24 -04:00
adnano
7e215669e7 Add ServeFile function 2020-10-27 13:32:48 -04:00
adnano
4beed7e90e Add (*ResponseWriter).WriteStatus function 2020-10-27 13:30:35 -04:00
adnano
de46c241b0 Update documentation 2020-10-24 15:29:12 -04:00
adnano
6cccba3800 Rename repository to go-gemini 2020-10-24 15:15:32 -04:00
adnano
40255d8c40 Rename Handler to Responder 2020-10-21 16:28:50 -04:00
adnano
e09d6659b4 Rename rw, req to w, r 2020-10-13 20:22:12 -04:00
adnano
bf8f183cab Move errors to gemini.go 2020-10-13 20:10:04 -04:00
adnano
38e6f42295 Detect mimetypes 2020-10-11 20:13:53 -04:00
adnano
037a707863 Move filesystem code to its own file 2020-10-11 18:57:04 -04:00