Commit Graph

220 Commits

Author SHA1 Message Date
Connor Prussin
717a33739c
v0.8.2 2019-05-20 23:55:21 -07:00
Connor Prussin
c3ea495b22
Merge branch 'v0.8.x' 2019-05-20 23:52:48 -07:00
Connor Prussin
e84c877fdc
Update nix shell 2019-05-20 23:49:57 -07:00
Connor Prussin
7ac394cf66
Release notes for v0.8.1 2019-05-20 22:30:26 -07:00
Hardy Jones
5d7c2c8bda Use CaseInsensitiveString for Headers (#138)
* v0.8.1

* Add failing tests for `Headers`

There's currently a bug with `Headers`:
if a header is created with uppercase characters, it can never be found.
The problem is that we only look for lowercase characters in the
`Lookup` instance for `Headers`.

* Convert `Headers` to use `CaseInsensitiveString`

In an effort to be more true to HTTP,
we make the header keys case-insensitive.
This fixes the issue of looking up a header where the casing is different,
Since `CaseInsensitiveString`s compare in a way that ignore casing.

The API for consumers for `Headers` stays the same,
but we get more correct code.
A win for all!
2019-04-25 20:06:15 -07:00
Hardy Jones
c208dffb7b Add HTTP version (#137)
* v0.8.1

* Add the HTTP version to `Request`

The `node-http` `Request` has the HTTP version on it.
We can make it available in our `Request` for consumers.

We went the naive approach first and typed it as a string.
There is some structure to the version,
so we could attempt to parse it.
It's unclear what we would do if parsing failed though.

Maybe we want something like:
```PureScript
data Version
  = Known { major :: Int, minor :: Int }
  | Unknown String
```

That would allow us to parse the known format,
and fallback to accepting anything else.
It's definitely something to discuss anyway.

* Make HTTP version its own data type

There are only a handful of HTTP versions that are commonly used.
We can talk about those explicitly and fallback to any arbitrary version.

The changes here try to follow the patterns elsewhere in the code base.
Hopefully, it's not too far off.
2019-04-25 10:13:04 -07:00
Connor Prussin
92408f9636
v0.8.1 2019-02-26 22:18:26 -08:00
Connor Prussin
e64565e497
Add missing packages 2019-02-26 22:15:34 -08:00
Connor Prussin
05463e53b8
Fix makefile 2019-02-17 10:30:54 -08:00
Connor Prussin
cca1ca3986
v0.8.0 2019-02-16 23:26:52 -08:00
Connor Prussin
1da681dda3
Release notes for v0.8.0 2019-02-16 23:26:03 -08:00
Connor Prussin
8771780158
Switch from bower to psc-package 2019-02-16 23:25:42 -08:00
Connor Prussin
939cd834d7
Remove npm from makefile 2019-02-16 22:46:24 -08:00
Petri Lehtinen
98b0b4e268 Query param fixes (#128)
* Represent emtpy query parameters as empty strings instead of "true"

* Encode and decode query params

Fixes #126

* Pass invalid query parameters through instead of ignoring them

* Decode the plus sign `+` as a space ` ` in query string

* Decode percent encoding in path segments

* Update History.md
2018-11-06 09:45:37 -08:00
Ping Chen
fe2e3f5f6d print out error message in onError500 (#125) 2018-10-26 21:33:11 -07:00
Petri Lehtinen
d333c6f6b3 Respond with 500 Internal Server Error upon unhandled exceptions (#123)
Refs #109
2018-10-09 10:37:23 -07:00
paluh
2f335e9fc0 Actually fix a really minor bug in body read function (#121) 2018-09-24 18:36:06 -07:00
paluh
c094792be6 Add docs for Body.read (#119) 2018-09-24 15:45:43 -07:00
paluh
30654a62a3 Fix body read (#117) (#118)
* Fix body read (#117)

* Minor code cleanup
2018-09-24 15:03:31 -07:00
Stijn Ruts
f4aeb74b72 Fix markdown syntax (#116) 2018-09-18 08:39:05 -07:00
Connor Prussin
d0ceb78d24
Add note in history regarding change in #112 2018-09-05 10:46:48 -07:00
Connor Prussin
775b06f004
Random example banner cleanup 2018-09-03 12:23:58 -07:00
Connor Prussin
ce4a10a3b5
Make server cancelable and clean up examples and tests (#112) 2018-09-02 14:05:54 -07:00
Connor Prussin
1adbcecaaa
Chunked responses (#107)
* Chunked responses

* Remove Chunked newtype wrapper around Streams

* Use child process instead of ffi stream for chunked example

* Rename additionalHeaders to defaultHeaders

* Add History.md entry

* General cleanup
2018-08-30 15:01:49 -07:00
Connor Prussin
1bde8b4b1d
Consolidate APIs (#104)
* Consolidate APIs

* Use partial function approach instead of Streamable typeclass

* Clean up
2018-08-26 21:54:04 -07:00
Petri Lehtinen
2673bd4b0b
Fix Content-Length for non-ASCII response bodies (#103)
Fixes #101
2018-08-25 07:49:28 +03:00
Connor Prussin
5a7a09381a
Add missing release notes 2018-08-20 14:14:05 -07:00
Petri Lehtinen
3e94aa6f9d Support binary response body (#99)
* Support binary response body

Fixes #98

* Address PR comments

- Expose data constructors for Body and use them for construction and
  pattern matching instead of various helpers

- Add an example and integration test for binary response

- Adjust the middleware example to be a bit nicer
2018-08-19 19:50:07 -07:00
Connor Prussin
9a4b79327c
Add attribution for @akheron (#100) 2018-08-09 12:51:14 -07:00
Petri Lehtinen
9b1045886c
Re-export Query and Status (#97) 2018-08-08 07:32:53 +03:00
Petri Lehtinen
82402997a9 Re-export Response (#95)
Fixes #94
2018-07-10 23:07:34 -07:00
Connor Prussin
4c9acefaea
Set the Content-Length header based on the body contents (#93) 2018-07-10 22:23:28 -07:00
Connor Prussin
4bcbbd95f8
v0.7.1 2018-07-08 16:46:22 -07:00
Connor Prussin
04c5518268
Don't use effects rows in Readme.md 2018-07-08 16:44:20 -07:00
Connor Prussin
e6183dc9ea
Format History.md more betterer 2018-07-08 16:42:10 -07:00
Connor Prussin
0469ba2386
v0.7.0 2018-07-08 16:36:43 -07:00
Connor Prussin
1ec1adc57c
Release notes for v0.7.0 2018-07-08 16:30:23 -07:00
Connor Prussin
85bb5df5ae
Update History.md 2018-07-08 16:29:56 -07:00
Connor Prussin
12a6f36303
Fix some bad docs 2018-07-08 16:28:59 -07:00
Petri Lehtinen
8badd62b3e PureScript 0.12 support (#89)
- Upgrade all dependencies
- Use Effect instead of Eff
- Use Foreign.Object instead of StrMap
- Use Effect.Ref instead of Control.Monad.ST
- Drop SecureServerM, it's the same as ServerM now
2018-07-08 16:16:48 -07:00
Connor Prussin
48e37c4672
v0.6.3 2018-02-24 20:00:59 -08:00
Connor Prussin
1f8024643c
Fix compiler warning 2018-02-24 19:57:46 -08:00
Connor Prussin
435003e2ab
Uprev dependencies 2018-02-24 18:51:07 -08:00
Connor Prussin
b6ec731120
Fix unclear docs 2018-02-24 18:49:45 -08:00
Connor Prussin
f943420351
v0.6.2 2018-02-08 22:05:08 -08:00
Connor Prussin
2649dce1b1
Fix docs again 2018-02-08 22:04:12 -08:00
Connor Prussin
6d78a1b5fb
v0.6.1 2018-02-08 21:58:12 -08:00
Connor Prussin
b6f85c36ae
Fix docs 2018-02-08 21:57:37 -08:00
Connor Prussin
dfe759bf62
v0.6.0 2018-02-08 21:49:05 -08:00
Connor Prussin
b7d6f3f493
Release notes for v0.6.0 2018-02-08 21:48:47 -08:00