mirror of
https://github.com/typeable/wai.git
synced 2024-12-26 15:42:18 +03:00
Individual stack.yaml files
This commit is contained in:
parent
be570023d6
commit
9cf4a6890e
36
.travis.yml
36
.travis.yml
@ -72,9 +72,9 @@ matrix:
|
||||
|
||||
# The Stack builds. We can pass in arbitrary Stack arguments via the ARGS
|
||||
# variable, such as using --stack-yaml to point to a different file.
|
||||
- env: BUILD=stack ARGS=""
|
||||
compiler: ": #stack default"
|
||||
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
#- env: BUILD=stack ARGS=""
|
||||
# compiler: ": #stack default"
|
||||
# addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
|
||||
#- env: BUILD=stack ARGS="--resolver lts-2"
|
||||
# compiler: ": #stack 7.8.4"
|
||||
@ -84,7 +84,7 @@ matrix:
|
||||
# compiler: ": #stack 7.10.2"
|
||||
# addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
|
||||
- env: BUILD=stack ARGS="--resolver lts-6"
|
||||
- env: BUILD=stack ARGS="--resolver lts-6" STACK_YAML="stack-lts-6.yaml"
|
||||
compiler: ": #stack 7.10.3"
|
||||
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
|
||||
@ -92,27 +92,27 @@ matrix:
|
||||
# compiler: ": #stack 8.0.1"
|
||||
# addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
|
||||
- env: BUILD=stack ARGS="--resolver lts-9"
|
||||
- env: BUILD=stack ARGS="--resolver lts-9" STACK_YAML="stack-lts-9.yaml"
|
||||
compiler: ": #stack 8.0.2"
|
||||
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
|
||||
- env: BUILD=stack ARGS="--resolver lts-11"
|
||||
- env: BUILD=stack ARGS="--resolver lts-11" STACK_YAML="stack-lts-11.yaml"
|
||||
compiler: ": #stack 8.2.2"
|
||||
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
|
||||
- env: BUILD=stack ARGS="--resolver lts-12"
|
||||
- env: BUILD=stack ARGS="--resolver lts-12" STACK_YAML="stack-lts-12.yaml"
|
||||
compiler: ": #stack 8.4.3"
|
||||
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
|
||||
# Nightly builds are allowed to fail
|
||||
- env: BUILD=stack ARGS="--resolver nightly"
|
||||
- env: BUILD=stack ARGS="--resolver nightly" STACK_YAML="stack-nightly.yaml"
|
||||
compiler: ": #stack nightly"
|
||||
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
|
||||
|
||||
# Build on macOS in addition to Linux
|
||||
- env: BUILD=stack ARGS=""
|
||||
compiler: ": #stack default osx"
|
||||
os: osx
|
||||
#- env: BUILD=stack ARGS=""
|
||||
# compiler: ": #stack default osx"
|
||||
# os: osx
|
||||
|
||||
# Travis includes an macOS which is incompatible with GHC 7.8.4
|
||||
#- env: BUILD=stack ARGS="--resolver lts-2"
|
||||
@ -123,7 +123,7 @@ matrix:
|
||||
# compiler: ": #stack 7.10.2 osx"
|
||||
# os: osx
|
||||
|
||||
- env: BUILD=stack ARGS="--resolver lts-6"
|
||||
- env: BUILD=stack ARGS="--resolver lts-6" STACK_YAML="stack-lts-6.yaml"
|
||||
compiler: ": #stack 7.10.3 osx"
|
||||
os: osx
|
||||
|
||||
@ -131,15 +131,15 @@ matrix:
|
||||
# compiler: ": #stack 8.0.1 osx"
|
||||
# os: osx
|
||||
|
||||
- env: BUILD=stack ARGS="--resolver lts-9"
|
||||
- env: BUILD=stack ARGS="--resolver lts-9" STACK_YAML="stack-lts-9.yaml"
|
||||
compiler: ": #stack 8.0.2 osx"
|
||||
os: osx
|
||||
|
||||
- env: BUILD=stack ARGS="--resolver lts-11"
|
||||
- env: BUILD=stack ARGS="--resolver lts-11" STACK_YAML="stack-lts-11.yaml"
|
||||
compiler: ": #stack 8.2.2 osx"
|
||||
os: osx
|
||||
|
||||
- env: BUILD=stack ARGS="--resolver lts-12"
|
||||
- env: BUILD=stack ARGS="--resolver lts-12" STACK_YAML="stack-lts-12.yaml"
|
||||
compiler: ": #stack 8.4.3 osx"
|
||||
os: osx
|
||||
|
||||
@ -149,7 +149,7 @@ matrix:
|
||||
|
||||
allow_failures:
|
||||
- env: BUILD=cabal GHCVER=head CABALVER=head HAPPYVER=1.19.5 ALEXVER=3.1.7
|
||||
- env: BUILD=stack ARGS="--resolver nightly"
|
||||
#- env: BUILD=stack ARGS="--resolver nightly"
|
||||
|
||||
before_install:
|
||||
# Using compiler above sets CC to an invalid value, so unset it
|
||||
@ -169,8 +169,8 @@ before_install:
|
||||
|
||||
# brew no longer has fcgi
|
||||
# brew install fcgi
|
||||
grep -v wai-handler-fastcgi < stack.yaml > tmp
|
||||
mv tmp stack.yaml
|
||||
grep -v wai-handler-fastcgi < $STACK_YAML > tmp
|
||||
mv tmp $STACK_YAML
|
||||
else
|
||||
travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
|
||||
fi
|
||||
|
10
appveyor.yml
10
appveyor.yml
@ -17,14 +17,14 @@ environment:
|
||||
TMP: "c:\\tmp"
|
||||
|
||||
matrix:
|
||||
- ARGS: ""
|
||||
#- ARGS: ""
|
||||
#- ARGS: "--resolver lts-2"
|
||||
#- ARGS: "--resolver lts-3"
|
||||
- ARGS: "--resolver lts-6"
|
||||
- ARGS: "--stack-yaml stack-lts-6.yaml"
|
||||
#- ARGS: "--resolver lts-7"
|
||||
- ARGS: "--resolver lts-9"
|
||||
- ARGS: "--resolver lts-11"
|
||||
- ARGS: "--resolver lts-12"
|
||||
- ARGS: "--stack-yaml stack-lts-9.yaml"
|
||||
- ARGS: "--stack-yaml stack-lts-11.yaml"
|
||||
- ARGS: "--stack-yaml stack-lts-12.yaml"
|
||||
#- ARGS: "--resolver nightly"
|
||||
|
||||
test_script:
|
||||
|
54
hcar-wai.tex
54
hcar-wai.tex
@ -1,54 +0,0 @@
|
||||
% WAI-KW.tex
|
||||
\begin{hcarentry}{WAI}
|
||||
\label{wai}
|
||||
\report{Kazu Yamamoto}%05/18
|
||||
\participants{Michael Snoyman, Greg Weber}
|
||||
\status{stable}
|
||||
\makeheader
|
||||
|
||||
WAI (Web Application Interface) is an application interface between web
|
||||
applications and handlers in Haskell. The \texttt{Application} data type is
|
||||
defined as follows:
|
||||
|
||||
\begin{verbatim}
|
||||
type Application
|
||||
= Request
|
||||
-> (Response -> IO ResponseReceived)
|
||||
-> IO ResponseReceived
|
||||
\end{verbatim}
|
||||
|
||||
That is, a WAI application takes two arguments: a \texttt{Request} and a
|
||||
function to send a \texttt{Response}. So, the typical behavior of WAI
|
||||
application is processing a request, generating a response and passing the
|
||||
response to the function.
|
||||
|
||||
Historically speaking, this interface made possible to develop handlers other
|
||||
than HTTP. The WAI applications can run through FastCGI
|
||||
(wai-handler-fastcgi), run as stand-alone (wai-handler-webkit), etc. But the
|
||||
most popular handler is based on HTTP, of course. The major HTTP handler for
|
||||
WAI is Warp which now provides both HTTP/1.1 and HTTP/2. TLS (warp-tls) is
|
||||
also available. New transports such as WebSocket (wai-websocket) and Event
|
||||
Source (wai-extra) can be implemented, too.
|
||||
|
||||
It is possible to develop WAI applications directly. For instance, Hoogle and
|
||||
Mighttpd2 take this way. However, you may want to use web application
|
||||
frameworks such as Apiary, MFlow, rest, Servant, Scotty, Spock, Yesod, etc.
|
||||
|
||||
WAI also provides \texttt{Middleware}:
|
||||
|
||||
\begin{verbatim}
|
||||
type Middleware = Application -> Application
|
||||
\end{verbatim}
|
||||
|
||||
WAI middleware can inspect and transform a request, for example by
|
||||
automatically gzipping a response or logging a request (wai-extra).
|
||||
|
||||
Since the last HCAR, WAI started using Builder of ByteString instead of
|
||||
Builder of blaze-builder. Because they are identical, no backward
|
||||
compatibility issue happens.
|
||||
|
||||
\FurtherReading
|
||||
\begin{compactitem}
|
||||
\item\url{https://groups.google.com/d/forum/haskell-wai}
|
||||
\end{compactitem}
|
||||
\end{hcarentry}
|
@ -1,28 +0,0 @@
|
||||
% Warp-KW.tex
|
||||
\begin{hcarentry}[updated]{Warp}
|
||||
\label{warp}
|
||||
\report{Kazu Yamamoto}%05/18
|
||||
\participants{Michael Snoyman}
|
||||
\status{stable}
|
||||
\makeheader
|
||||
|
||||
Warp is a high performance, easy to deploy HTTP handler for WAI~\cref{wai}.
|
||||
Its supports both HTTP/1.1 and HTTP/2.
|
||||
|
||||
Since the last HCAR, no major changes were made.
|
||||
|
||||
\FurtherReading
|
||||
\begin{compactitem}
|
||||
\item``Warp: A Haskell Web Server''
|
||||
\begin{compactitem}
|
||||
\item the May/June 2011 issue of IEEE Internet Computing
|
||||
\item Issue page: \url{http://www.computer.org/portal/web/csdl/abs/mags/ic/2011/03/mic201103toc.htm}
|
||||
\item PDF: \url{http://steve.vinoski.net/pdf/IC-Warp\_a\_Haskell\_Web\_Server.pdf}
|
||||
\end{compactitem}
|
||||
\item ``Warp''
|
||||
\begin{compactitem}
|
||||
\item The Performance of Open Source Applications
|
||||
\item HTML: \url{http://www.aosabook.org/en/posa/warp.html}
|
||||
\end{compactitem}
|
||||
\end{compactitem}
|
||||
\end{hcarentry}
|
11
sources.txt
11
sources.txt
@ -1,11 +0,0 @@
|
||||
./wai
|
||||
./wai-extra
|
||||
./warp
|
||||
./warp-tls
|
||||
./wai-app-static
|
||||
./wai-handler-fastcgi
|
||||
./wai-handler-launch
|
||||
./wai-websockets
|
||||
./wai-conduit
|
||||
./mime-types
|
||||
./auto-update
|
28
stack-lts-11.yaml
Normal file
28
stack-lts-11.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
resolver: lts-11.21
|
||||
packages:
|
||||
- ./auto-update
|
||||
- ./mime-types
|
||||
- ./wai
|
||||
- ./wai-extra
|
||||
- ./warp
|
||||
- ./warp-tls
|
||||
- ./wai-app-static
|
||||
- ./wai-handler-fastcgi
|
||||
- ./wai-websockets
|
||||
- ./wai-conduit
|
||||
flags:
|
||||
wai-extra:
|
||||
build-example: true
|
||||
extra-deps:
|
||||
- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
|
||||
nix:
|
||||
enable: false
|
||||
packages:
|
||||
- fcgi
|
||||
- zlib
|
||||
image:
|
||||
containers:
|
||||
- base: "fpco/pid1"
|
||||
name: "yesodweb/warp"
|
||||
executables:
|
||||
- warp
|
26
stack-lts-12.yaml
Normal file
26
stack-lts-12.yaml
Normal file
@ -0,0 +1,26 @@
|
||||
resolver: lts-12.6
|
||||
packages:
|
||||
- ./auto-update
|
||||
- ./mime-types
|
||||
- ./wai
|
||||
- ./wai-extra
|
||||
- ./warp
|
||||
- ./warp-tls
|
||||
- ./wai-app-static
|
||||
- ./wai-handler-fastcgi
|
||||
- ./wai-websockets
|
||||
- ./wai-conduit
|
||||
flags:
|
||||
wai-extra:
|
||||
build-example: true
|
||||
nix:
|
||||
enable: false
|
||||
packages:
|
||||
- fcgi
|
||||
- zlib
|
||||
image:
|
||||
containers:
|
||||
- base: "fpco/pid1"
|
||||
name: "yesodweb/warp"
|
||||
executables:
|
||||
- warp
|
32
stack-lts-6.yaml
Normal file
32
stack-lts-6.yaml
Normal file
@ -0,0 +1,32 @@
|
||||
resolver: lts-6.35
|
||||
packages:
|
||||
- ./auto-update
|
||||
- ./mime-types
|
||||
- ./wai
|
||||
- ./wai-extra
|
||||
- ./warp
|
||||
- ./warp-tls
|
||||
- ./wai-app-static
|
||||
- ./wai-handler-fastcgi
|
||||
- ./wai-websockets
|
||||
- ./wai-conduit
|
||||
extra-deps:
|
||||
- bsb-http-chunked-0.0.0.2@sha256:0571ef33ec5530104503d32eaf24f2d7c221f350e5fc475a6dd8e84311bc0ca1,1792
|
||||
- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
|
||||
- tls-session-manager-0.0.0.2@sha256:e3d3f8a026196df46746a19d3d7d31211b2fca3aefed9074e951b2dcc1b8833c,872
|
||||
- wai-logger-2.3.2@sha256:7f5dbc72c0753bd3e0e73f8f542d9d159d1d70f8ff3a3ec16d0b74b500534fc6,1572
|
||||
- gauge-0.2.3@sha256:ce41cb66ebf730a5050181db0338b1a4b3f76ac71331bf5070089bcd4352ff46,3777
|
||||
- psqueues-0.2.7.0@sha256:189970837d0aae01f48cd2a8aac6ce314191939e118cc0488aee1fb12da1956a,4757
|
||||
- basement-0.0.7@rev:0
|
||||
- http-client-0.5.13.1@rev:0
|
||||
nix:
|
||||
enable: false
|
||||
packages:
|
||||
- fcgi
|
||||
- zlib
|
||||
image:
|
||||
containers:
|
||||
- base: "fpco/pid1"
|
||||
name: "yesodweb/warp"
|
||||
executables:
|
||||
- warp
|
28
stack-lts-9.yaml
Normal file
28
stack-lts-9.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
resolver: lts-9.21
|
||||
packages:
|
||||
- ./auto-update
|
||||
- ./mime-types
|
||||
- ./wai
|
||||
- ./wai-extra
|
||||
- ./warp
|
||||
- ./warp-tls
|
||||
- ./wai-app-static
|
||||
- ./wai-handler-fastcgi
|
||||
- ./wai-websockets
|
||||
- ./wai-conduit
|
||||
extra-deps:
|
||||
- bsb-http-chunked-0.0.0.2@sha256:0571ef33ec5530104503d32eaf24f2d7c221f350e5fc475a6dd8e84311bc0ca1,1792
|
||||
- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
|
||||
- wai-logger-2.3.2@sha256:7f5dbc72c0753bd3e0e73f8f542d9d159d1d70f8ff3a3ec16d0b74b500534fc6,1572
|
||||
- http-client-0.5.13.1@rev:0
|
||||
nix:
|
||||
enable: false
|
||||
packages:
|
||||
- fcgi
|
||||
- zlib
|
||||
image:
|
||||
containers:
|
||||
- base: "fpco/pid1"
|
||||
name: "yesodweb/warp"
|
||||
executables:
|
||||
- warp
|
26
stack-nightly.yaml
Normal file
26
stack-nightly.yaml
Normal file
@ -0,0 +1,26 @@
|
||||
resolver: nightly-2018-08-17
|
||||
packages:
|
||||
- ./auto-update
|
||||
- ./mime-types
|
||||
- ./wai
|
||||
- ./wai-extra
|
||||
- ./warp
|
||||
- ./warp-tls
|
||||
- ./wai-app-static
|
||||
- ./wai-handler-fastcgi
|
||||
- ./wai-websockets
|
||||
- ./wai-conduit
|
||||
flags:
|
||||
wai-extra:
|
||||
build-example: true
|
||||
nix:
|
||||
enable: false
|
||||
packages:
|
||||
- fcgi
|
||||
- zlib
|
||||
image:
|
||||
containers:
|
||||
- base: "fpco/pid1"
|
||||
name: "yesodweb/warp"
|
||||
executables:
|
||||
- warp
|
35
stack.yaml
35
stack.yaml
@ -1,35 +0,0 @@
|
||||
resolver: lts-10.0
|
||||
packages:
|
||||
- ./auto-update
|
||||
- ./mime-types
|
||||
- ./wai
|
||||
- ./wai-extra
|
||||
- ./warp
|
||||
- ./warp-tls
|
||||
- ./wai-app-static
|
||||
- ./wai-handler-fastcgi
|
||||
- ./wai-websockets
|
||||
- ./wai-conduit
|
||||
flags:
|
||||
wai-extra:
|
||||
build-example: true
|
||||
extra-deps:
|
||||
- bsb-http-chunked-0
|
||||
- tls-session-manager-0.0.0.2
|
||||
- psqueues-0.2.4.0
|
||||
- streaming-commons-0.2.0.0
|
||||
- wai-logger-2.3.2
|
||||
- http-client-0.5.10
|
||||
- websockets-0.12.4.0
|
||||
- binary-0.8.5.1
|
||||
nix:
|
||||
enable: false
|
||||
packages:
|
||||
- fcgi
|
||||
- zlib
|
||||
image:
|
||||
containers:
|
||||
- base: "fpco/pid1"
|
||||
name: "yesodweb/warp"
|
||||
executables:
|
||||
- warp
|
1
stack.yaml
Symbolic link
1
stack.yaml
Symbolic link
@ -0,0 +1 @@
|
||||
stack-lts-12.yaml
|
Loading…
Reference in New Issue
Block a user