Package maintainers and Hackage trustees are allowed to edit certain bits
of package metadata after a release, without uploading a new tarball.
Note that the tarball itself is never changed, just the metadata that is
stored separately. For more information about metadata revisions, please
refer to the
Hackage Metadata Revisions FAQ.
No. |
Time |
User |
SHA256 |
-r4 (sockets-and-pipes-0.1-r4) |
2021-02-25T09:14:56Z |
chris_martin |
192967866616b6ac3209aa0745edd37d1be04ae4fb8f1853c93e63bafcfd62d3
|
|
Changed tested-with
from ghc ==8.10.3: ghc ==8.8.4: ghc ==8.6.5
to ghc ==9.0.1: ghc ==8.10.3: ghc ==8.8.4: ghc ==8.6.5 Changed the library component's library dependency on 'base'
from ^>=4.12 || ^>=4.13 || ^>=4.14
to ^>=4.12 || ^>=4.13 || ^>=4.14 || ^>=4.15
|
-r3 (sockets-and-pipes-0.1-r3) |
2021-02-25T08:50:21Z |
chris_martin |
42ad7af2ccec982507dfd4a20d5457b6d1d041163f8dd4655c39256e0964180d
|
|
|
-r2 (sockets-and-pipes-0.1-r2) |
2021-02-24T21:22:07Z |
chris_martin |
6da4aa52b48fffad835aac5e153ef16603791179e47a6ed6ccbb838261e2d365
|
|
Changed description
from This package contains some utilities that support /Sockets and Pipes/
(available on <https://leanpub.com/sockets-and-pipes Leanpub>),
as well as re-exports from all the libraries mentioned in the book.
== Code in this package
Original contributions from this package:
* "SocketsAndPipes.Serve"
== Chapters
List of modules that make a significant appearance in each chapter:
+----+----------------------+----------------------------------+---------------------------------------+
| | Chapter | Module | Purpose |
+====+======================+==================================+=======================================+
| 1 | __Handles__ | "System.IO" | Writing to a file |
| | +----------------------------------+---------------------------------------+
| | | "Control.Exception.Safe" | Using `bracket` to ensure |
| | | | the file handle is closed |
+----+----------------------+----------------------------------+---------------------------------------+
| 2 | __Chunks__ | "Data.Text" | `Text` is a chunk of characters |
| | +----------------------------------+---------------------------------------+
| | | "Data.Text.IO" | Reading and writing files using |
| | | | `Text` instead of `String` |
+----+----------------------+----------------------------------+---------------------------------------+
| 3 | __Bytes__ | "Data.Word" | What a byte is |
| | +----------------------------------+---------------------------------------+
| | | "Data.ByteString" | `ByteString` is a chunk of bytes |
| | +----------------------------------+---------------------------------------+
| | | "Data.Text.Encoding" | Conversions between `ByteString` |
| | | | and `Text` |
| | +----------------------------------+---------------------------------------+
| | | "Data.String" | How `ByteString` works with |
| | +----------------------------------+ `OverloadedStrings` |
| | | "Data.ByteString.Char8" | |
| | +----------------------------------+---------------------------------------+
| | | "System.IO" | Putting `Handle`s into binary mode |
+----+----------------------+----------------------------------+---------------------------------------+
| 4 | __Sockets__ | "Network.Socket" | Opening and closing sockets |
| | +----------------------------------+---------------------------------------+
| | | "Network.Socket.ByteString" | Writing to and reading from sockets |
| | +----------------------------------+---------------------------------------+
| | | "System.Timeout" | Giving up quickly when a service |
| | | | does not respond |
+----+----------------------+----------------------------------+---------------------------------------+
| 5 | __HTTP__ | "ASCII" | Expressing HTTP messages as strings |
| | +----------------------------------+ |
| | | "ASCII.Char" | |
| | +----------------------------------+---------------------------------------+
| | | "SocketsAndPipes.Serve" | Our first rudimentary web server |
+----+----------------------+----------------------------------+---------------------------------------+
| 6 | __HTTP types__ | "Data.ByteString" | Defining datatypes for the |
| | +----------------------------------+ parts of an HTTP message |
| | | "Data.ByteString.Lazy" | |
+----+----------------------+----------------------------------+---------------------------------------+
| 7 | __Encoding__ | "Data.Text.Lazy" | Efficient string concatenations |
| | +----------------------------------+ |
| | | "Data.Text.Lazy.Builder" | |
| | +----------------------------------+ |
| | | "Data.ByteString.Builder" | |
| | +----------------------------------+---------------------------------------+
| | | "Data.Time" | Simple performance testing |
| | +----------------------------------+---------------------------------------+
| | | "Data.Foldable" | Encoding repetitions with `foldMap` |
+----+----------------------+----------------------------------+---------------------------------------+
| 8 | __Responding__ | "Network.Socket.ByteString.Lazy" | Sending responses constructed by |
| | | | bytestring `Builder` |
| | +----------------------------------+---------------------------------------+
| | | "SocketsAndPipes.Serve" | New web server using the |
| | | | encoding functions |
| | +----------------------------------+---------------------------------------+
| | | "Data.Int" | Contrasting `Integer`, `Int`, |
| | | | and `Int64` |
+----+----------------------+----------------------------------+---------------------------------------+
| 9 | __Content types__ | "Data.Text.Lazy.Builder.Int" | Building a text response body |
| | +----------------------------------+---------------------------------------+
| | | "Text.Blaze.Html" | Building an HTML response body |
| | +----------------------------------+ |
| | | "Text.Blaze.Html5" | |
| | +----------------------------------+ |
| | | "Text.Blaze.Html.Renderer.Utf8" | |
| | +----------------------------------+---------------------------------------+
| | | "Data.Aeson" | Building a JSON response body |
+----+----------------------+----------------------------------+---------------------------------------+
| 10 | __Change__ | "Control.Concurrent.STM.TVar" | Shared state for request-handling |
| | +----------------------------------+ threads |
| | | "Control.Monad.STM" | |
+----+----------------------+----------------------------------+---------------------------------------+
| 11 | __Chunked bodies__ | |
+----+----------------------+ |
| 12 | __Request parsing__ | |
+----+----------------------+ |
| 13 | __Reading headers__ | |
+----+----------------------+ The remaining chapters are in progress. |
| 14 | __Body parsing__ | |
+----+----------------------+ |
| 15 | __Connection reuse__ | |
+----+----------------------+ |
| 16 | __Pipes__ | |
+----+----------------------+--------------------------------------------------------------------------+
== Libraries
Re-exported modules, grouped by the package that each module originally comes from:
__ascii__ - "ASCII", "ASCII.Char"
__aeson__ - "Data.Aeson"
__async__ - "Control.Concurrent.Async"
__base__
* File handles - "System.IO"
* Fundamental data types - "Data.Word", "Data.Int", "Data.Char"
* Miscellania - "System.Timeout", "Control.Monad",
"Data.Foldable", "Data.List"
__blaze-html__ - "Text.Blaze.Html", "Text.Blaze.Html5",
"Text.Blaze.Html5.Attributes", "Text.Blaze.Html.Renderer.Utf8"
__bytestring__
* Strict - "Data.ByteString"
* Lazy - "Data.ByteString.Lazy"
* Builder - "Data.ByteString.Builder"
* "Data.ByteString.Char8" -
This is included mostly to discuss why we don't use it.
__network__
* "Network.Socket" -
The Socket type, operations for opening and closing sockets
* "Network.Socket.ByteString" -
Socket read/write operations with strict byte strings
* "Network.Socket.ByteString.Lazy" -
Socket read/write operations with lazy byte strings
__safe-exceptions__ - "Control.Exception.Safe"
__stm__ - "Control.Monad.STM", "Control.Concurrent.STM.TVar"
__text__
* Strict - "Data.Text", "Data.Text.Encoding", "Data.Text.IO"
* Lazy - "Data.Text.Lazy", "Data.Text.Lazy.Encoding", "Data.Text.Lazy.IO"
* Builder - "Data.Text.Lazy.Builder", "Data.Text.Lazy.Builder.Int"
__time__ - "Data.Time"
to This package contains some utilities that support /Sockets and Pipes/
(available on <https://leanpub.com/sockets-and-pipes Leanpub>),
as well as re-exports from all the libraries mentioned in the book.
== Code in this package
Original contributions from this package:
* "SocketsAndPipes.Serve"
== Chapters
List of modules that make a significant appearance in each chapter:
+----+----------------------+----------------------------------+---------------------------------------+
| | Chapter | Module | Purpose |
+====+======================+==================================+=======================================+
| 1 | __Handles__ | "System.IO" | Writing to a file |
| | +----------------------------------+---------------------------------------+
| | | "Control.Exception.Safe" | Using `bracket` to ensure |
| | | | the file handle is closed |
+----+----------------------+----------------------------------+---------------------------------------+
| 2 | __Chunks__ | "Data.Text" | `Text` is a chunk of characters |
| | +----------------------------------+---------------------------------------+
| | | "Data.Text.IO" | Reading and writing files using |
| | | | `Text` instead of `String` |
+----+----------------------+----------------------------------+---------------------------------------+
| 3 | __Bytes__ | "Data.Word" | What a byte is |
| | +----------------------------------+---------------------------------------+
| | | "Data.ByteString" | `ByteString` is a chunk of bytes |
| | +----------------------------------+---------------------------------------+
| | | "Data.Text.Encoding" | Conversions between `ByteString` |
| | | | and `Text` |
| | +----------------------------------+---------------------------------------+
| | | "Data.String" | How `ByteString` works with |
| | +----------------------------------+ `OverloadedStrings` |
| | | "Data.ByteString.Char8" | |
| | +----------------------------------+---------------------------------------+
| | | "System.IO" | Putting `Handle`s into binary mode |
+----+----------------------+----------------------------------+---------------------------------------+
| 4 | __Sockets__ | "Network.Socket" | Opening and closing sockets |
| | +----------------------------------+---------------------------------------+
| | | "Network.Socket.ByteString" | Writing to and reading from sockets |
| | +----------------------------------+---------------------------------------+
| | | "System.Timeout" | Giving up quickly when a service |
| | | | does not respond |
+----+----------------------+----------------------------------+---------------------------------------+
| 5 | __HTTP__ | "ASCII" | Expressing HTTP messages as strings |
| | +----------------------------------+ |
| | | "ASCII.Char" | |
| | +----------------------------------+---------------------------------------+
| | | "SocketsAndPipes.Serve" | Our first rudimentary web server |
+----+----------------------+----------------------------------+---------------------------------------+
| 6 | __HTTP types__ | "Data.ByteString" | Defining datatypes for the |
| | +----------------------------------+ parts of an HTTP message |
| | | "Data.ByteString.Lazy" | |
+----+----------------------+----------------------------------+---------------------------------------+
| 7 | __Encoding__ | "Data.Text.Lazy" | Efficient string concatenations |
| | +----------------------------------+ |
| | | "Data.Text.Lazy.Builder" | |
| | +----------------------------------+ |
| | | "Data.ByteString.Builder" | |
| | +----------------------------------+---------------------------------------+
| | | "Data.Time" | Simple performance testing |
| | +----------------------------------+---------------------------------------+
| | | "Data.Foldable" | Encoding repetitions with `foldMap` |
+----+----------------------+----------------------------------+---------------------------------------+
| 8 | __Responding__ | "Network.Socket.ByteString.Lazy" | Sending responses constructed by |
| | | | bytestring `Builder` |
| | +----------------------------------+---------------------------------------+
| | | "SocketsAndPipes.Serve" | New web server using the |
| | | | encoding functions |
| | +----------------------------------+---------------------------------------+
| | | "Data.Int" | Contrasting `Integer`, `Int`, |
| | | | and `Int64` |
+----+----------------------+----------------------------------+---------------------------------------+
| 9 | __Content types__ | "Data.Text.Lazy.Builder.Int" | Building a text response body |
| | +----------------------------------+---------------------------------------+
| | | "Text.Blaze.Html" | Building an HTML response body |
| | +----------------------------------+ |
| | | "Text.Blaze.Html5" | |
| | +----------------------------------+ |
| | | "Text.Blaze.Html.Renderer.Utf8" | |
| | +----------------------------------+---------------------------------------+
| | | "Data.Aeson" | Building a JSON response body |
+----+----------------------+----------------------------------+---------------------------------------+
| 10 | __Change__ | "Control.Concurrent.STM.TVar" | Shared state for request-handling |
| | +----------------------------------+ threads |
| | | "Control.Monad.STM" | |
+----+----------------------+----------------------------------+---------------------------------------+
| 11 | __Streaming__ | |
+----+----------------------+ |
| 12 | __Request parsing__ | |
+----+----------------------+ |
| 13 | __Reading headers__ | |
+----+----------------------+ The remaining chapters are in progress. |
| 14 | __Body parsing__ | |
+----+----------------------+ |
| 15 | __Connection reuse__ | |
+----+----------------------+ |
| 16 | __Pipes__ | |
+----+----------------------+--------------------------------------------------------------------------+
== Libraries
Re-exported modules, grouped by the package that each module originally comes from:
__ascii__ - "ASCII", "ASCII.Char"
__aeson__ - "Data.Aeson"
__async__ - "Control.Concurrent.Async"
__base__
* File handles - "System.IO"
* Fundamental data types - "Data.Word", "Data.Int", "Data.Char"
* Miscellania - "System.Timeout", "Control.Monad",
"Data.Foldable", "Data.List"
__blaze-html__ - "Text.Blaze.Html", "Text.Blaze.Html5",
"Text.Blaze.Html5.Attributes", "Text.Blaze.Html.Renderer.Utf8"
__bytestring__
* Strict - "Data.ByteString"
* Lazy - "Data.ByteString.Lazy"
* Builder - "Data.ByteString.Builder"
* "Data.ByteString.Char8" -
This is included mostly to discuss why we don't use it.
__network__
* "Network.Socket" -
The Socket type, operations for opening and closing sockets
* "Network.Socket.ByteString" -
Socket read/write operations with strict byte strings
* "Network.Socket.ByteString.Lazy" -
Socket read/write operations with lazy byte strings
__safe-exceptions__ - "Control.Exception.Safe"
__stm__ - "Control.Monad.STM", "Control.Concurrent.STM.TVar"
__text__
* Strict - "Data.Text", "Data.Text.Encoding", "Data.Text.IO"
* Lazy - "Data.Text.Lazy", "Data.Text.Lazy.Encoding", "Data.Text.Lazy.IO"
* Builder - "Data.Text.Lazy.Builder", "Data.Text.Lazy.Builder.Int"
__time__ - "Data.Time"
|
-r1 (sockets-and-pipes-0.1-r1) |
2021-02-24T21:21:21Z |
chris_martin |
e245928fd0b3129642c69571076f57f17b28d235df56ca8361e3d51d59a4fd5d
|
|
Changed description
from This package contains some utilities that support /Sockets and Pipes/
(available on <https://leanpub.com/sockets-and-pipes Leanpub>),
as well as re-exports from all the libraries mentioned in the book.
== Code in this package
Original contributions from this package:
* "SocketsAndPipes.Serve"
== Chapters
List of modules that make a significant appearance in each chapter:
+----+----------------------+----------------------------------+---------------------------------------+
| | Chapter | Module | Purpose |
+====+======================+==================================+=======================================+
| 1 | __Handles__ | "System.IO" | Writing to a file |
| | +----------------------------------+---------------------------------------+
| | | "Control.Exception.Safe" | Using `bracket` to ensure |
| | | | the file handle is closed |
+----+----------------------+----------------------------------+---------------------------------------+
| 2 | __Chunks__ | "Data.Text" | `Text` is a chunk of characters |
| | +----------------------------------+---------------------------------------+
| | | "Data.Text.IO" | Reading and writing files using |
| | | | `Text` instead of `String` |
+----+----------------------+----------------------------------+---------------------------------------+
| 3 | __Bytes__ | "Data.Word" | What a byte is |
| | +----------------------------------+---------------------------------------+
| | | "Data.ByteString" | `ByteString` is a chunk of bytes |
| | +----------------------------------+---------------------------------------+
| | | "Data.Text.Encoding" | Conversions between `ByteString` |
| | | | and `Text` |
| | +----------------------------------+---------------------------------------+
| | | "Data.String" | How `ByteString` works with |
| | +----------------------------------+ `OverloadedStrings` |
| | | "Data.ByteString.Char8" | |
| | +----------------------------------+---------------------------------------+
| | | "System.IO" | Putting `Handle`s into binary mode |
+----+----------------------+----------------------------------+---------------------------------------+
| 4 | __Sockets__ | "Network.Socket" | Opening and closing sockets |
| | +----------------------------------+---------------------------------------+
| | | "Network.Socket.ByteString" | Writing to and reading from sockets |
| | +----------------------------------+---------------------------------------+
| | | "System.Timeout" | Giving up quickly when a service |
| | | | does not respond |
+----+----------------------+----------------------------------+---------------------------------------+
| 5 | __HTTP__ | "ASCII" | Expressing HTTP messages as strings |
| | +----------------------------------+ |
| | | "ASCII.Char" | |
| | +----------------------------------+---------------------------------------+
| | | "SocketsAndPipes.Serve" | Our first rudimentary web server |
+----+----------------------+----------------------------------+---------------------------------------+
| 6 | __HTTP types__ | "Data.ByteString" | Defining datatypes for the |
| | +----------------------------------+ parts of an HTTP message |
| | | "Data.ByteString.Lazy" | |
+----+----------------------+----------------------------------+---------------------------------------+
| 7 | __Encoding__ | "Data.Text.Lazy" | Efficient string concatenations |
| | +----------------------------------+ |
| | | "Data.Text.Lazy.Builder" | |
| | +----------------------------------+ |
| | | "Data.ByteString.Builder" | |
| | +----------------------------------+---------------------------------------+
| | | "Data.Time" | Simple performance testing |
| | +----------------------------------+---------------------------------------+
| | | "Data.Foldable" | Encoding repetitions with `foldMap` |
+----+----------------------+----------------------------------+---------------------------------------+
| 8 | __Responding__ | "Network.Socket.ByteString.Lazy" | Sending responses constructed by |
| | | | bytestring `Builder` |
| | +----------------------------------+---------------------------------------+
| | | "SocketsAndPipes.Serve" | New web server using the |
| | | | encoding functions |
| | +----------------------------------+---------------------------------------+
| | | "Data.Int" | Contrasting `Integer`, `Int`, |
| | | | and `Int64` |
+----+----------------------+----------------------------------+---------------------------------------+
| 9 | __Content types__ | "Data.Text.Lazy.Builder.Int" | Building a text response body |
| | +----------------------------------+---------------------------------------+
| | | "Text.Blaze.Html" | Building an HTML response body |
| | +----------------------------------+ |
| | | "Text.Blaze.Html5" | |
| | +----------------------------------+ |
| | | "Text.Blaze.Html.Renderer.Utf8" | |
| | +----------------------------------+---------------------------------------+
| | | "Data.Aeson" | Building a JSON response body |
+----+----------------------+----------------------------------+---------------------------------------+
| 10 | __Change__ | "Control.Concurrent.STM.TVar" | Shared state for request-handling |
| | +----------------------------------+ threads |
| | | "Control.Monad.STM" | |
+----+----------------------+--------------------------------+-----------------------------------------+
| 11 | __Chunked bodies__ | |
+----+----------------------+ |
| 12 | __Request parsing__ | |
+----+----------------------+ |
| 13 | __Reading headers__ | |
+----+----------------------+ The remaining chapters are in progress. |
| 14 | __Body parsing__ | |
+----+----------------------+ |
| 15 | __Connection reuse__ | |
+----+----------------------+ |
| 16 | __Pipes__ | |
+----+----------------------+--------------------------------------------------------------------------+
== Libraries
Re-exported modules, grouped by the package that each module originally comes from:
__ascii__ - "ASCII", "ASCII.Char"
__aeson__ - "Data.Aeson"
__async__ - "Control.Concurrent.Async"
__base__
* File handles - "System.IO"
* Fundamental data types - "Data.Word", "Data.Int", "Data.Char"
* Miscellania - "System.Timeout", "Control.Monad",
"Data.Foldable", "Data.List"
__blaze-html__ - "Text.Blaze.Html", "Text.Blaze.Html5",
"Text.Blaze.Html5.Attributes", "Text.Blaze.Html.Renderer.Utf8"
__bytestring__
* Strict - "Data.ByteString"
* Lazy - "Data.ByteString.Lazy"
* Builder - "Data.ByteString.Builder"
* "Data.ByteString.Char8" -
This is included mostly to discuss why we don't use it.
__network__
* "Network.Socket" -
The Socket type, operations for opening and closing sockets
* "Network.Socket.ByteString" -
Socket read/write operations with strict byte strings
* "Network.Socket.ByteString.Lazy" -
Socket read/write operations with lazy byte strings
__safe-exceptions__ - "Control.Exception.Safe"
__stm__ - "Control.Monad.STM", "Control.Concurrent.STM.TVar"
__text__
* Strict - "Data.Text", "Data.Text.Encoding", "Data.Text.IO"
* Lazy - "Data.Text.Lazy", "Data.Text.Lazy.Encoding", "Data.Text.Lazy.IO"
* Builder - "Data.Text.Lazy.Builder", "Data.Text.Lazy.Builder.Int"
__time__ - "Data.Time"
to This package contains some utilities that support /Sockets and Pipes/
(available on <https://leanpub.com/sockets-and-pipes Leanpub>),
as well as re-exports from all the libraries mentioned in the book.
== Code in this package
Original contributions from this package:
* "SocketsAndPipes.Serve"
== Chapters
List of modules that make a significant appearance in each chapter:
+----+----------------------+----------------------------------+---------------------------------------+
| | Chapter | Module | Purpose |
+====+======================+==================================+=======================================+
| 1 | __Handles__ | "System.IO" | Writing to a file |
| | +----------------------------------+---------------------------------------+
| | | "Control.Exception.Safe" | Using `bracket` to ensure |
| | | | the file handle is closed |
+----+----------------------+----------------------------------+---------------------------------------+
| 2 | __Chunks__ | "Data.Text" | `Text` is a chunk of characters |
| | +----------------------------------+---------------------------------------+
| | | "Data.Text.IO" | Reading and writing files using |
| | | | `Text` instead of `String` |
+----+----------------------+----------------------------------+---------------------------------------+
| 3 | __Bytes__ | "Data.Word" | What a byte is |
| | +----------------------------------+---------------------------------------+
| | | "Data.ByteString" | `ByteString` is a chunk of bytes |
| | +----------------------------------+---------------------------------------+
| | | "Data.Text.Encoding" | Conversions between `ByteString` |
| | | | and `Text` |
| | +----------------------------------+---------------------------------------+
| | | "Data.String" | How `ByteString` works with |
| | +----------------------------------+ `OverloadedStrings` |
| | | "Data.ByteString.Char8" | |
| | +----------------------------------+---------------------------------------+
| | | "System.IO" | Putting `Handle`s into binary mode |
+----+----------------------+----------------------------------+---------------------------------------+
| 4 | __Sockets__ | "Network.Socket" | Opening and closing sockets |
| | +----------------------------------+---------------------------------------+
| | | "Network.Socket.ByteString" | Writing to and reading from sockets |
| | +----------------------------------+---------------------------------------+
| | | "System.Timeout" | Giving up quickly when a service |
| | | | does not respond |
+----+----------------------+----------------------------------+---------------------------------------+
| 5 | __HTTP__ | "ASCII" | Expressing HTTP messages as strings |
| | +----------------------------------+ |
| | | "ASCII.Char" | |
| | +----------------------------------+---------------------------------------+
| | | "SocketsAndPipes.Serve" | Our first rudimentary web server |
+----+----------------------+----------------------------------+---------------------------------------+
| 6 | __HTTP types__ | "Data.ByteString" | Defining datatypes for the |
| | +----------------------------------+ parts of an HTTP message |
| | | "Data.ByteString.Lazy" | |
+----+----------------------+----------------------------------+---------------------------------------+
| 7 | __Encoding__ | "Data.Text.Lazy" | Efficient string concatenations |
| | +----------------------------------+ |
| | | "Data.Text.Lazy.Builder" | |
| | +----------------------------------+ |
| | | "Data.ByteString.Builder" | |
| | +----------------------------------+---------------------------------------+
| | | "Data.Time" | Simple performance testing |
| | +----------------------------------+---------------------------------------+
| | | "Data.Foldable" | Encoding repetitions with `foldMap` |
+----+----------------------+----------------------------------+---------------------------------------+
| 8 | __Responding__ | "Network.Socket.ByteString.Lazy" | Sending responses constructed by |
| | | | bytestring `Builder` |
| | +----------------------------------+---------------------------------------+
| | | "SocketsAndPipes.Serve" | New web server using the |
| | | | encoding functions |
| | +----------------------------------+---------------------------------------+
| | | "Data.Int" | Contrasting `Integer`, `Int`, |
| | | | and `Int64` |
+----+----------------------+----------------------------------+---------------------------------------+
| 9 | __Content types__ | "Data.Text.Lazy.Builder.Int" | Building a text response body |
| | +----------------------------------+---------------------------------------+
| | | "Text.Blaze.Html" | Building an HTML response body |
| | +----------------------------------+ |
| | | "Text.Blaze.Html5" | |
| | +----------------------------------+ |
| | | "Text.Blaze.Html.Renderer.Utf8" | |
| | +----------------------------------+---------------------------------------+
| | | "Data.Aeson" | Building a JSON response body |
+----+----------------------+----------------------------------+---------------------------------------+
| 10 | __Change__ | "Control.Concurrent.STM.TVar" | Shared state for request-handling |
| | +----------------------------------+ threads |
| | | "Control.Monad.STM" | |
+----+----------------------+----------------------------------+---------------------------------------+
| 11 | __Chunked bodies__ | |
+----+----------------------+ |
| 12 | __Request parsing__ | |
+----+----------------------+ |
| 13 | __Reading headers__ | |
+----+----------------------+ The remaining chapters are in progress. |
| 14 | __Body parsing__ | |
+----+----------------------+ |
| 15 | __Connection reuse__ | |
+----+----------------------+ |
| 16 | __Pipes__ | |
+----+----------------------+--------------------------------------------------------------------------+
== Libraries
Re-exported modules, grouped by the package that each module originally comes from:
__ascii__ - "ASCII", "ASCII.Char"
__aeson__ - "Data.Aeson"
__async__ - "Control.Concurrent.Async"
__base__
* File handles - "System.IO"
* Fundamental data types - "Data.Word", "Data.Int", "Data.Char"
* Miscellania - "System.Timeout", "Control.Monad",
"Data.Foldable", "Data.List"
__blaze-html__ - "Text.Blaze.Html", "Text.Blaze.Html5",
"Text.Blaze.Html5.Attributes", "Text.Blaze.Html.Renderer.Utf8"
__bytestring__
* Strict - "Data.ByteString"
* Lazy - "Data.ByteString.Lazy"
* Builder - "Data.ByteString.Builder"
* "Data.ByteString.Char8" -
This is included mostly to discuss why we don't use it.
__network__
* "Network.Socket" -
The Socket type, operations for opening and closing sockets
* "Network.Socket.ByteString" -
Socket read/write operations with strict byte strings
* "Network.Socket.ByteString.Lazy" -
Socket read/write operations with lazy byte strings
__safe-exceptions__ - "Control.Exception.Safe"
__stm__ - "Control.Monad.STM", "Control.Concurrent.STM.TVar"
__text__
* Strict - "Data.Text", "Data.Text.Encoding", "Data.Text.IO"
* Lazy - "Data.Text.Lazy", "Data.Text.Lazy.Encoding", "Data.Text.Lazy.IO"
* Builder - "Data.Text.Lazy.Builder", "Data.Text.Lazy.Builder.Int"
__time__ - "Data.Time"
|
-r0 (sockets-and-pipes-0.1-r0) |
2021-02-19T22:01:34Z |
chris_martin |
787fd1cd68730c3956b83c5dad58998238894cca0b711e6cbe709fd8651ef8f3
|
|
|