tastapiwin: a server/client for mercury://
i was reading solderpunk's page about mercury:
see the post here
and i was interested in it, although it's not super well-defined, i figured i could assume what i need.
i played around in scheme for a while and came up with what i call 'tastapiwin':
tastapiwin.tar
it's a little awkward right now but it functions. it feels a lot more like gopher than like gemini, which i really like.
originally i chose my own status codes that looked like:
- 1 - input request
- 2 - secret input request
- 3 - success
- 4 - redirecting to new url
- 5 - proxy error
- 6 - error in dynamic content (CGI)
- 7 - slowdown, too many requests
- 8 - unspecified error
- 9 - resource not found
- 0 - malformed address
but sean connor referred me to some RFCs like RFC-534 (FTP) that describe a grouping convention, so I switched to a three-digit alternative that complies more with this convention:
- 100 - input request
- 101 - secret input request
- 200 - success
- 300 - redirect
- 400 - unspecified error
- 401 - dynamic content error
- 402 - proxy error
- 403 - slowdown
- 404 - resource not found
- 500 - bad request
i need to do some more testing but i've been happy so far with how things look. the lack of TLS made it a lot less daunting to look into, as learning scheme's srfi-106 socket library was already enough work for me
i need to do more testing regarding accessing content from other computers. as of now i just tested that it works on localhost.
i'm just learning and mucking around with something that sort of resembles what mercury could look like, as someone who hasn't implemented a network protocol before, or used any other mercury:// software (if they exist?). ultimately i might end up modifying this to be a server/client for nex://
reach out to me (wapakosis_sdf_org) about this if you're interested, cause i don't know what i'm doing ><
oh i also made a little poem and website to go with it:
tastapiwin.html
mwestas~