Commit Graph

43 Commits

Author SHA1 Message Date
Jonathan Lamothe 554efdabcb catch *any* exception
`listenLoop` was crashing when the client closed the connection during the handshake.  How this doesn't qualify as an `IOException` is beyond me.
2023-01-01 11:52:59 -05:00
Jonathan Lamothe 465b5a9115 don't worry about length of response status code 2021-11-25 03:26:36 -05:00
Jonathan Lamothe 43b76aa39c implemented encodeGemResponse 2021-11-24 19:44:17 -05:00
Jonathan Lamothe 391ffd3eea implemented stripCRLF 2021-11-24 19:44:17 -05:00
Jonathan Lamothe 05e83857a7 tests for runConnection 2021-11-24 18:56:12 -05:00
Jonathan Lamothe 7126838eb0 fixed a bug in readLoop that would cause the server hang while reading the request 2021-11-23 11:10:34 -05:00
Jonathan Lamothe 7b8a887b3c made failure reason ob readLoop more obvious 2021-11-22 23:25:43 -05:00
Jonathan Lamothe 61fca70a5e refactored readLoop 2021-11-21 02:22:40 -05:00
Jonathan Lamothe 440aee7536 System.IO.Streams should be a qualified import 2021-11-20 11:43:54 -05:00
Jonathan Lamothe 64444bbc81 implemented readMax 2021-11-19 20:58:41 -05:00
Jonathan Lamothe 4a99e5cb0b implemented high-level logic for strFromConn 2021-11-19 19:30:54 -05:00
Jonathan Lamothe 489d0fdb78 linting of readURL function
I disagree with the use of `<$>` in place of `.`, but not enough to fight hlint on it.
2021-11-19 19:28:46 -05:00
Jonathan Lamothe dfad007b60 minor refactor of readURL 2021-11-19 11:03:51 -05:00
Jonathan Lamothe 5c83bf3123 implemented basic logic for readURL 2021-11-18 20:00:52 -05:00
Jonathan Lamothe 722864c842 name changes
changed names of certain functions and types to use the term "capsule" instead of "server"
2021-11-17 15:32:39 -05:00
Jonathan Lamothe f751ccf191 renamed project to gemcap
It was brought to my attention that there is a rust package named gemserv. I changed the name to avoid any potential confusion.
2021-11-17 13:15:36 -05:00
Jonathan Lamothe 735719aaa7 runConnection can now accept any type of Connection 2021-11-13 11:26:15 -05:00
Jonathan Lamothe 6247595145 refactored adjustServerParams 2021-11-12 19:52:09 -05:00
Jonathan Lamothe 7814705dd9 made default certificate chain empty 2021-11-12 11:23:13 -05:00
Jonathan Lamothe e47bc3ce48 implemented runConnection logic 2021-11-10 15:04:00 -05:00
Jonathan Lamothe 17f1eba583 make runConnection take a certificate as a parameter 2021-11-10 14:06:20 -05:00
Jonathan Lamothe dacd4a2c9a added warning to Network.GemServ.Internal 2021-11-09 01:12:45 -05:00
Jonathan Lamothe 7aac1df7b0 implemented more logic for runGemServer 2021-11-05 20:56:15 -04:00
Jonathan Lamothe 1ecf47b391 use lazy ByteString for GemResponse 2021-11-01 13:12:50 -04:00
Jonathan Lamothe 3e17acc4f3 added haddock headers to Network.GemServ 2021-11-01 13:09:27 -04:00
Jonathan Lamothe 0aae14479d WIP: partially implemented runGemServer 2021-10-28 20:50:20 -04:00
Jonathan Lamothe d021511bd6 GemHandler is just a function now 2021-10-28 20:36:56 -04:00
Jonathan Lamothe f943b50a20 implemented GemServSettings type and constructor 2021-10-28 20:16:54 -04:00
Jonathan Lamothe 8c50721309 implemented GemHandler type 2021-10-28 19:39:50 -04:00
Jonathan Lamothe 7addd8982f implemented GemResponse type and constructor 2021-10-28 19:31:28 -04:00
Jonathan Lamothe d1f26115f6 implemented GemRequest type and constructor 2021-10-28 19:18:20 -04:00
Jonathan Lamothe 00142e91d6 implemented decodeGemURL 2021-10-24 22:04:56 -04:00
Jonathan Lamothe a5d0c25fc3 make gemQuery field of GemURL optional (with Maybe) 2021-10-24 18:54:41 -04:00
Jonathan Lamothe a2d8f1a5ea renamed Request to GemURL
- A request should contain a URL and an optional client certigicate.
- renamed accompanying functions accordingly
2021-10-24 15:43:29 -04:00
Jonathan Lamothe db718eedcd properly encode non-ASCII characters with encodeString 2021-10-24 14:28:41 -04:00
Jonathan Lamothe a61806f8e4 implemented unescapeString 2021-10-24 12:47:37 -04:00
Jonathan Lamothe 3484fda01e escape characters in URLs 2021-10-22 16:51:04 -04:00
Jonathan Lamothe 8590219126 implemented escapeString 2021-10-22 16:40:44 -04:00
Jonathan Lamothe d56116d4c9 implemented encodeRequest
Note: this does not yet handle percent-escaped characters
2021-10-22 14:29:15 -04:00
Jonathan Lamothe bb7b2ebaa2 implemented newRequest 2021-10-22 14:28:08 -04:00
Jonathan Lamothe ef3693f49c created Request type 2021-10-22 13:35:15 -04:00
Jonathan Lamothe 2a11520a5f create Network.GemServ module 2021-10-22 13:35:15 -04:00
Jonathan Lamothe d8161500cc initial commit 2021-10-19 10:51:15 -04:00