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

171 Commits

Author SHA1 Message Date
adnano
8066279549 Rename ServeMux to Mux 2021-03-15 15:44:35 -04:00
adnano
7101402517 Remove StatusSensitiveInput 2021-03-08 14:08:45 -05:00
adnano
8c453c7531 examples/client: Fix certificate trust check 2021-03-08 14:07:18 -05:00
adnano
44921d55ad tofu: Use base64-encoded sha256 fingerprints 2021-03-06 15:24:15 -05:00
adnano
747cee74c3 Move LoggingMiddleware out of examples/server.go 2021-03-05 11:35:01 -05:00
adnano
8811080005 Revert "certificate: Remove Subject from CreateOptions"
This reverts commit f3481c3ff8.
2021-03-04 20:04:46 -05:00
adnano
f3481c3ff8 certificate: Remove Subject from CreateOptions 2021-03-04 16:27:16 -05:00
adnano
aa438fedbf tofu: Remove expiration timestamp from known hosts 2021-03-04 15:37:02 -05:00
adnano
ac4c897007 examples/server: Clean up LoggingMiddleware 2021-02-27 14:53:37 -05:00
adnano
13d4ba5708 Update examples/client.go 2021-02-24 19:21:31 -05:00
adnano
3255b024e9 Remove ResponseWriter.Close method 2021-02-24 19:00:09 -05:00
adnano
c5bd598947 response: Revert to using fields instead of methods 2021-02-24 18:50:40 -05:00
adnano
a27dfdc3a9 examples/client: Fix display of response status 2021-02-24 16:16:42 -05:00
adnano
f5c5b362a7 examples/server: Cancel context 2021-02-24 10:27:28 -05:00
adnano
f5e5f71474 examples/server: Add logging middleware 2021-02-24 10:25:08 -05:00
adnano
1dc3a2009d examples/client: Use Response methods 2021-02-24 09:22:25 -05:00
adnano
f86a79ff20 examples/auth: Use Request.TLS method 2021-02-24 09:22:01 -05:00
adnano
81803e8a44 Update examples/client.go 2021-02-23 17:52:34 -05:00
adnano
e31b8d0244 examples/client: Stream response body 2021-02-23 15:56:44 -05:00
adnano
36c5bbaebe examples/stream: Simplify 2021-02-23 15:31:41 -05:00
adnano
c9479c10ed Update examples 2021-02-23 08:43:47 -05:00
adnano
282120c368 examples/stream: Remove /shutdown handler 2021-02-22 21:16:13 -05:00
adnano
caf7d5f9be examples/server: Shutdown on interrupt signal 2021-02-22 21:14:41 -05:00
adnano
6d26abd514 examples/stream: Remove usage of Flusher 2021-02-22 20:07:37 -05:00
adnano
86c4b74e04 examples/stream: Showcase Server.Shutdown method 2021-02-21 00:29:41 -05:00
adnano
a54d4e1a56 examples: Use context 2021-02-21 00:26:30 -05:00
adnano
7882f1dbf0 Update examples 2021-02-20 18:30:49 -05:00
adnano
9318ba666b Make Status a type
Using a type is better than using an integer.
2021-02-20 16:16:32 -05:00
adnano
002df3f8b2 examples/client: Remove dependency on go-xdg 2021-02-20 15:42:06 -05:00
adnano
46c4ad1848 examples/client: Use context 2021-02-20 15:39:47 -05:00
adnano
8783d3109e examples/server: Use certificate.Store 2021-02-19 18:45:19 -05:00
adnano
a6c922e1b2 examples: Use Server.Handler 2021-02-17 20:35:27 -05:00
adnano
3ae7a859c4 examples: Use new ResponseWriter interface 2021-02-17 13:39:23 -05:00
adnano
e23fd5217e Move ResponseWriter.Flush to Flusher interface 2021-02-17 11:44:13 -05:00
adnano
0d1cec7086 examples/server: Use os.DirFS 2021-02-17 09:25:44 -05:00
adnano
1d4f1baac4 Replace uses of ioutil with io 2021-02-16 18:57:24 -05:00
adnano
c9e139c90d Update examples/auth.go 2021-02-16 11:26:09 -05:00
adnano
4b8c9f7c12 Update examples/client.go 2021-02-14 18:59:33 -05:00
adnano
a4590e7998 examples/client: Fix opening of known hosts file 2021-02-09 09:48:51 -05:00
adnano
8c0ff0547d Make ResponseWriter an interface 2021-02-09 09:46:18 -05:00
adnano
ecfb9b2154 Use plain integers to represent status codes 2021-02-09 09:46:13 -05:00
adnano
1241af39f0 Update examples 2021-01-25 10:59:50 -05:00
adnano
456f2686bc Guarantee that (*Response).Body is not nil 2021-01-15 15:18:00 -05:00
adnano
1283045355 server: Rename Register to Handle 2021-01-14 22:12:07 -05:00
adnano
648a2ef3ec Update examples 2021-01-14 21:23:13 -05:00
adnano
b623184b87 Update examples/auth.go 2021-01-14 19:04:11 -05:00
adnano
666d82d1a5 Update examples/client.go 2021-01-14 17:28:03 -05:00
Hugo Wetterberg
76e8a9f0bd tofu: Refactor
This commit changes underlying file handling and known hosts parsing.

A known hosts file opened through Load() never closed the underlying
file. During known hosts parsing most errors were unchecked, or just
led to the line being skipped.

I removed the KnownHosts type, which didn't really have a role after
the refactor. The embedding of KnownHosts in KnownHosts file has been
removed as it also leaked the map unprotected by the mutex.

The Fingerprint type is now KnownHost and has taken over the
responsibility of marshalling and unmarshalling.

SetOutput now takes a WriteCloser so that we can close the underlying
writer when it's replaced, or when it's explicitly closed through the
new Close() function.

KnownHostsFile.Add() now also writes the known host to the output if
set. I think that makes sense expectation-wise for the type.

Turned WriteAll() into WriteTo() to conform with the io.WriterTo
interface.

Load() is now Open() to better reflect the fact that a file is opened,
and kept open. It can now also return errors from the parsing process.

The parser does a lot more error checking, and this might be an area
where I've changed a desired behaviour as invalid entries no longer
are ignored, but aborts the parsing process. That could be changed to
a warning, or some kind of parsing feedback.

I added KnownHostsFile.TOFU() to fill the developer experience gap
that was left after the client no longer knows about
KnownHostsFile. It implements a basic non-interactive TOFU flow.
2021-01-14 13:48:57 -05:00
adnano
a3c883de8a Move tofu.go to a subpackage 2021-01-10 16:46:12 -05:00
adnano
1456f82d66 Update examples/stream.go 2021-01-10 01:13:07 -05:00