This file is indexed.

/usr/share/doc/libghc-servant-server-doc/html/Servant-Server.html is in libghc-servant-server-doc 0.11.0.1-1build3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Servant.Server</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Servant-Server.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Servant-Server.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">servant-server-0.11.0.1: A family of combinators for defining webservices APIs and serving them</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Servant.Server</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Run a wai application from an API</a></li><li><a href="#g:2">Construct a wai Application from an API</a></li><li><a href="#g:3">Handlers for all standard combinators</a></li><li><a href="#g:4">Debugging the server layout</a></li><li><a href="#g:5">Enter</a><ul><li><a href="#g:6">Basic functions and datatypes</a></li><li><a href="#g:7"><code>Nat</code> utilities</a></li><li><a href="#g:8">Functions based on mmorph</a></li></ul></li><li><a href="#g:9">Context</a><ul><li><a href="#g:10">NamedContext</a></li></ul></li><li><a href="#g:11">Basic Authentication</a></li><li><a href="#g:12">General Authentication</a></li><li><a href="#g:13">Default error type</a><ul><li><a href="#g:14">3XX</a></li><li><a href="#g:15">4XX</a></li><li><a href="#g:16">5XX</a></li></ul></li><li><a href="#g:17">Re-exports</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module lets you implement <code><a href="Servant-Server.html#t:Server">Server</a></code>s for defined APIs. You'll
 most likely just need <code><a href="Servant-Server.html#v:serve">serve</a></code>.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:serve">serve</a> :: <a href="Servant-Server.html#t:HasServer">HasServer</a> api '[] =&gt; <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="Servant-Server.html#t:Server">Server</a> api -&gt; <a href="Servant-Server.html#t:Application">Application</a></li><li class="src short"><a href="#v:serveWithContext">serveWithContext</a> :: <a href="Servant-Server.html#t:HasServer">HasServer</a> api context =&gt; <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server.html#t:Server">Server</a> api -&gt; <a href="Servant-Server.html#t:Application">Application</a></li><li class="src short"><a href="#v:toApplication">toApplication</a> :: <a href="Servant-Server-Internal-RoutingApplication.html#t:RoutingApplication">RoutingApplication</a> -&gt; <a href="Servant-Server.html#t:Application">Application</a></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasServer">HasServer</a> api context <span class="keyword">where</span><ul class="subs"><li><span class="keyword">type</span> <a href="#t:ServerT">ServerT</a> api (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:Server">Server</a> api = <a href="Servant-Server.html#t:ServerT">ServerT</a> api <a href="Servant-Server.html#t:Handler">Handler</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:EmptyServer">EmptyServer</a></li><li class="src short"><a href="#v:emptyServer">emptyServer</a> :: <a href="Servant-Server.html#t:ServerT">ServerT</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a> m</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Handler">Handler</a> a = <a href="#v:Handler">Handler</a> {<ul class="subs"><li><a href="#v:runHandler-39-">runHandler'</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> a</li></ul>}</li><li class="src short"><a href="#v:runHandler">runHandler</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> a)</li><li class="src short"><a href="#v:layout">layout</a> :: <a href="Servant-Server.html#t:HasServer">HasServer</a> api '[] =&gt; <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="file:///usr/share/doc/libghc-text-doc/html/Data-Text.html#t:Text">Text</a></li><li class="src short"><a href="#v:layoutWithContext">layoutWithContext</a> :: <a href="Servant-Server.html#t:HasServer">HasServer</a> api context =&gt; <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="file:///usr/share/doc/libghc-text-doc/html/Data-Text.html#t:Text">Text</a></li><li class="src short"><a href="#v:enter">enter</a> :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-Utils-Enter.html#t:Enter">Enter</a> typ m n ret =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m n -&gt; typ -&gt; ret</li><li class="src short"><span class="keyword">newtype</span> (k <a href="#t::-126--62-">:~&gt;</a> f) g :: <span class="keyword">forall</span> k. (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) -&gt; (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> = <a href="#v:NT">NT</a> {<ul class="subs"><li><a href="#v:-36--36-">($$)</a> :: (~&gt;) k f g</li></ul>}</li><li class="src short"><a href="#v:liftNat">liftNat</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Class.html#t:MonadTrans">MonadTrans</a> t, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m (t m)</li><li class="src short"><a href="#v:runReaderTNat">runReaderTNat</a> :: r -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> r m) m</li><li class="src short"><a href="#v:evalStateTLNat">evalStateTLNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; s -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> s m) m</li><li class="src short"><a href="#v:evalStateTSNat">evalStateTSNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; s -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> s m) m</li><li class="src short"><a href="#v:logWriterTLNat">logWriterTLNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; (w -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> ()) -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w m) m</li><li class="src short"><a href="#v:logWriterTSNat">logWriterTSNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; (w -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> ()) -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w m) m</li><li class="src short"><a href="#v:hoistNat">hoistNat</a> :: (MFunctor t, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m n -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (t m) (t n)</li><li class="src short"><a href="#v:embedNat">embedNat</a> :: (MMonad t, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> n) =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m (t n) -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (t m) (t n)</li><li class="src short"><a href="#v:squashNat">squashNat</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, MMonad t) =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (t (t m)) (t m)</li><li class="src short"><a href="#v:generalizeNat">generalizeNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> m =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> m</li><li class="src short"><a href="#v:tweakResponse">tweakResponse</a> :: (<a href="Servant-Server-Internal-RoutingApplication.html#t:RouteResult">RouteResult</a> <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:Response">Response</a> -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:RouteResult">RouteResult</a> <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:Response">Response</a>) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env</li><li class="src short"><span class="keyword">data</span> <a href="#t:Context">Context</a> contextTypes <span class="keyword">where</span><ul class="subs"><li><a href="#v:EmptyContext">EmptyContext</a> :: <a href="Servant-Server.html#t:Context">Context</a> '[]</li><li><a href="#v::.">(:.)</a> :: x -&gt; <a href="Servant-Server.html#t:Context">Context</a> xs -&gt; <a href="Servant-Server.html#t:Context">Context</a> (x ': xs)</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasContextEntry">HasContextEntry</a> context val <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:NamedContext">NamedContext</a> name subContext = <a href="#v:NamedContext">NamedContext</a> (<a href="Servant-Server.html#t:Context">Context</a> subContext)</li><li class="src short"><a href="#v:descendIntoNamedContext">descendIntoNamedContext</a> :: <span class="keyword">forall</span> context name subContext. <a href="Servant-Server.html#t:HasContextEntry">HasContextEntry</a> context (<a href="Servant-Server.html#t:NamedContext">NamedContext</a> name subContext) =&gt; <a href="Servant.html#t:Proxy">Proxy</a> (name :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server.html#t:Context">Context</a> subContext</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:BasicAuthCheck">BasicAuthCheck</a> usr = <a href="#v:BasicAuthCheck">BasicAuthCheck</a> {<ul class="subs"><li><a href="#v:unBasicAuthCheck">unBasicAuthCheck</a> :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-BasicAuth.html#t:BasicAuthData">BasicAuthData</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr)</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:BasicAuthResult">BasicAuthResult</a> usr<ul class="subs"><li>= <a href="#v:Unauthorized">Unauthorized</a></li><li>| <a href="#v:BadPassword">BadPassword</a></li><li>| <a href="#v:NoSuchUser">NoSuchUser</a></li><li>| <a href="#v:Authorized">Authorized</a> usr</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:ServantErr">ServantErr</a> = <a href="#v:ServantErr">ServantErr</a> {<ul class="subs"><li><a href="#v:errHTTPCode">errHTTPCode</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li><a href="#v:errReasonPhrase">errReasonPhrase</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:errBody">errBody</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a></li><li><a href="#v:errHeaders">errHeaders</a> :: [<a href="file:///usr/share/doc/libghc-http-types-doc/html/Network-HTTP-Types-Header.html#t:Header">Header</a>]</li></ul>}</li><li class="src short"><a href="#v:err300">err300</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err301">err301</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err302">err302</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err303">err303</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err304">err304</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err305">err305</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err307">err307</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err400">err400</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err401">err401</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err402">err402</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err403">err403</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err404">err404</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err405">err405</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err406">err406</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err407">err407</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err409">err409</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err410">err410</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err411">err411</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err412">err412</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err413">err413</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err414">err414</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err415">err415</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err416">err416</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err417">err417</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err418">err418</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err422">err422</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err500">err500</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err501">err501</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err502">err502</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err503">err503</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err504">err504</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><a href="#v:err505">err505</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:Application">Application</a> = <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:Request">Request</a> -&gt; (<a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:Response">Response</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:ResponseReceived">ResponseReceived</a>) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:ResponseReceived">ResponseReceived</a></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Tagged">Tagged</a> k s b :: <span class="keyword">forall</span> k. k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> = <a href="#v:Tagged">Tagged</a> {<ul class="subs"><li><a href="#v:unTagged">unTagged</a> :: b</li></ul>}</li></ul></div><div id="interface"><h1 id="g:1">Run a wai application from an API</h1><div class="top"><p class="src"><a id="v:serve" class="def">serve</a> :: <a href="Servant-Server.html#t:HasServer">HasServer</a> api '[] =&gt; <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="Servant-Server.html#t:Server">Server</a> api -&gt; <a href="Servant-Server.html#t:Application">Application</a> <a href="src/Servant-Server.html#serve" class="link">Source</a> <a href="#v:serve" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:serve">serve</a></code> allows you to implement an API and produce a wai <code><a href="Servant-Server.html#t:Application">Application</a></code>.</p><p>Example:</p><pre>type MyApi = &quot;books&quot; :&gt; Get '[JSON] [Book] -- GET /books
        :&lt;|&gt; &quot;books&quot; :&gt; ReqBody Book :&gt; Post '[JSON] Book -- POST /books

server :: Server MyApi
server = listAllBooks :&lt;|&gt; postBook
  where listAllBooks = ...
        postBook book = ...

myApi :: Proxy MyApi
myApi = Proxy

app :: Application
app = serve myApi server

main :: IO ()
main = Network.Wai.Handler.Warp.run 8080 app</pre></div></div><div class="top"><p class="src"><a id="v:serveWithContext" class="def">serveWithContext</a> :: <a href="Servant-Server.html#t:HasServer">HasServer</a> api context =&gt; <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server.html#t:Server">Server</a> api -&gt; <a href="Servant-Server.html#t:Application">Application</a> <a href="src/Servant-Server.html#serveWithContext" class="link">Source</a> <a href="#v:serveWithContext" class="selflink">#</a></p></div><h1 id="g:2">Construct a wai Application from an API</h1><div class="top"><p class="src"><a id="v:toApplication" class="def">toApplication</a> :: <a href="Servant-Server-Internal-RoutingApplication.html#t:RoutingApplication">RoutingApplication</a> -&gt; <a href="Servant-Server.html#t:Application">Application</a> <a href="src/Servant-Server-Internal-RoutingApplication.html#toApplication" class="link">Source</a> <a href="#v:toApplication" class="selflink">#</a></p></div><h1 id="g:3">Handlers for all standard combinators</h1><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasServer" class="def">HasServer</a> api context <span class="keyword">where</span> <a href="src/Servant-Server-Internal.html#HasServer" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Servant-Server.html#v:route">route</a></p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a id="t:ServerT" class="def">ServerT</a> api (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:route" class="def">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> api) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:HasServer" class="caption collapser" onclick="toggleSection('i:HasServer')">Instances</p><div id="section.i:HasServer" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:1" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:1')"></span> <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a> context</span> <a href="src/Servant-Server-Internal.html#line-549" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>The server for an <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a></code> is <code>emptyAPIServer</code>.</p><pre>type MyApi = &quot;nothing&quot; :&gt; EmptyApi

server :: Server MyApi
server = emptyAPIServer</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a> (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a>) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a> context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a> context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:2" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:2')"></span> <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Raw.html#t:Raw">Raw</a> context</span> <a href="src/Servant-Server-Internal.html#line-432" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>Just pass the request to the underlying application and serve its response.</p><p>Example:</p><pre>type MyApi = &quot;images&quot; :&gt; Raw

server :: Server MyApi
server = serveDirectory &quot;/var/www/images&quot;</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Raw.html#t:Raw">Raw</a> (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Raw.html#t:Raw">Raw</a>) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Raw.html#t:Raw">Raw</a> context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Raw.html#t:Raw">Raw</a> context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:3" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:3')"></span> (<a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a context, <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Alternative.html#t::-60--124--62-">(:&lt;|&gt;)</a> a b) context</span> <a href="src/Servant-Server-Internal.html#line-102" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>A server for <code>a <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Alternative.html#t::-60--124--62-">:&lt;|&gt;</a></code> b</code> first tries to match the request against the route
   represented by <code>a</code> and if it fails tries <code>b</code>. You must provide a request
   handler for each route.</p><pre>type MyApi = &quot;books&quot; :&gt; Get '[JSON] [Book] -- GET /books
        :&lt;|&gt; &quot;books&quot; :&gt; ReqBody Book :&gt; Post '[JSON] Book -- POST /books

server :: Server MyApi
server = listAllBooks :&lt;|&gt; postBook
  where listAllBooks = ...
        postBook book = ...</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Alternative.html#t::-60--124--62-">(:&lt;|&gt;)</a> a b) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Alternative.html#t::-60--124--62-">(:&lt;|&gt;)</a> a b) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> (a <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Alternative.html#t::-60--124--62-">:&lt;|&gt;</a> b) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> (a <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Alternative.html#t::-60--124--62-">:&lt;|&gt;</a> b) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:4" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:4')"></span> (<a href="Servant-Server.html#t:HasContextEntry">HasContextEntry</a> context (<a href="Servant-Server.html#t:NamedContext">NamedContext</a> name subContext), <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> subApi subContext) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-WithNamedContext.html#t:WithNamedContext">WithNamedContext</a> name subContext subApi) context</span> <a href="src/Servant-Server-Internal.html#line-580" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-WithNamedContext.html#t:WithNamedContext">WithNamedContext</a> name subContext subApi) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-WithNamedContext.html#t:WithNamedContext">WithNamedContext</a> name subContext subApi) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-WithNamedContext.html#t:WithNamedContext">WithNamedContext</a> name subContext subApi) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-WithNamedContext.html#t:WithNamedContext">WithNamedContext</a> name subContext subApi) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:5" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:5')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownSymbol">KnownSymbol</a> realm, <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context, <a href="Servant-Server.html#t:HasContextEntry">HasContextEntry</a> context (<a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr)) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-BasicAuth.html#t:BasicAuth">BasicAuth</a> realm usr) api) context</span> <a href="src/Servant-Server-Internal.html#line-555" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>Basic Authentication</p></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-BasicAuth.html#t:BasicAuth">BasicAuth</a> realm usr) api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-BasicAuth.html#t:BasicAuth">BasicAuth</a> realm usr) api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-BasicAuth.html#t:BasicAuth">BasicAuth</a> realm usr) api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-BasicAuth.html#t:BasicAuth">BasicAuth</a> realm usr) api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:6" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:6')"></span> <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-http-types-doc/html/Network-HTTP-Types-Version.html#t:HttpVersion">HttpVersion</a> api) context</span> <a href="src/Servant-Server-Internal.html#line-530" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-http-types-doc/html/Network-HTTP-Types-Version.html#t:HttpVersion">HttpVersion</a> api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-http-types-doc/html/Network-HTTP-Types-Version.html#t:HttpVersion">HttpVersion</a> api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) <a href="file:///usr/share/doc/libghc-http-types-doc/html/Network-HTTP-Types-Version.html#t:HttpVersion">HttpVersion</a> api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) <a href="file:///usr/share/doc/libghc-http-types-doc/html/Network-HTTP-Types-Version.html#t:HttpVersion">HttpVersion</a> api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:7" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:7')"></span> <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Vault.html#t:Vault">Vault</a> api) context</span> <a href="src/Servant-Server-Internal.html#line-524" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Vault.html#t:Vault">Vault</a> api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Vault.html#t:Vault">Vault</a> api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Vault.html#t:Vault">Vault</a> api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Vault.html#t:Vault">Vault</a> api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:8" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:8')"></span> <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-IsSecure.html#t:IsSecure">IsSecure</a> api) context</span> <a href="src/Servant-Server-Internal.html#line-516" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:8" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-IsSecure.html#t:IsSecure">IsSecure</a> api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-IsSecure.html#t:IsSecure">IsSecure</a> api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-IsSecure.html#t:IsSecure">IsSecure</a> api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-IsSecure.html#t:IsSecure">IsSecure</a> api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:9" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:9')"></span> <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-RemoteHost.html#t:RemoteHost">RemoteHost</a> api) context</span> <a href="src/Servant-Server-Internal.html#line-510" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:9" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-RemoteHost.html#t:RemoteHost">RemoteHost</a> api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-RemoteHost.html#t:RemoteHost">RemoteHost</a> api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-RemoteHost.html#t:RemoteHost">RemoteHost</a> api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-RemoteHost.html#t:RemoteHost">RemoteHost</a> api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:10" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:10')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownSymbol">KnownSymbol</a> path, <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> path api) context</span> <a href="src/Servant-Server-Internal.html#line-500" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>Make sure the incoming request starts with <code>&quot;/path&quot;</code>, strip it and
 pass the rest of the request path to <code>api</code>.</p></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:10" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> path api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> path api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) path api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) path api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:11" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:11')"></span> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ContentTypes.html#t:AllCTUnrender">AllCTUnrender</a> list a, <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ReqBody.html#t:ReqBody">ReqBody</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> list a) api) context</span> <a href="src/Servant-Server-Internal.html#line-469" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>If you use <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ReqBody.html#t:ReqBody">ReqBody</a></code> in one of the endpoints for your API,
 this automatically requires your server-side handler to be a function
 that takes an argument of the type specified by <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ReqBody.html#t:ReqBody">ReqBody</a></code>.
 The <code>Content-Type</code> header is inspected, and the list provided is used to
 attempt deserialization. If the request does not have a <code>Content-Type</code>
 header, it is treated as <code>application/octet-stream</code> (as specified in
 <a href="http://tools.ietf.org/html/rfc7231#section-3.1.1.5">RFC7231</a>.
 This lets servant worry about extracting it from the request and turning
 it into a value of the type you specify.</p><p>All it asks is for a <code>FromJSON</code> instance.</p><p>Example:</p><pre>type MyApi = &quot;books&quot; :&gt; ReqBody '[JSON] Book :&gt; Post '[JSON] Book

server :: Server MyApi
server = postBook
  where postBook :: Book -&gt; Handler Book
        postBook book = ...insert into your db...</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:11" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ReqBody.html#t:ReqBody">ReqBody</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> list a) api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ReqBody.html#t:ReqBody">ReqBody</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> list a) api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ReqBody.html#t:ReqBody">ReqBody</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> list a) api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ReqBody.html#t:ReqBody">ReqBody</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> list a) api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:12" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:12')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownSymbol">KnownSymbol</a> sym, <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryFlag">QueryFlag</a> sym) api) context</span> <a href="src/Servant-Server-Internal.html#line-407" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>If you use <code><code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryFlag">QueryFlag</a></code> &quot;published&quot;</code> in one of the endpoints for your API,
 this automatically requires your server-side handler to be a function
 that takes an argument of type <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>.</p><p>Example:</p><pre>type MyApi = &quot;books&quot; :&gt; QueryFlag &quot;published&quot; :&gt; Get '[JSON] [Book]

server :: Server MyApi
server = getBooks
  where getBooks :: Bool -&gt; Handler [Book]
        getBooks onlyPublished = ...return all books, or only the ones that are already published, depending on the argument...</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:12" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryFlag">QueryFlag</a> sym) api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryFlag">QueryFlag</a> sym) api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryFlag">QueryFlag</a> sym) api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryFlag">QueryFlag</a> sym) api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:13" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:13')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownSymbol">KnownSymbol</a> sym, <a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a> a, <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParams">QueryParams</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) context</span> <a href="src/Servant-Server-Internal.html#line-367" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>If you use <code><code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParams">QueryParams</a></code> &quot;authors&quot; Text</code> in one of the endpoints for your API,
 this automatically requires your server-side handler to be a function
 that takes an argument of type <code>[<code>Text</code>]</code>.</p><p>This lets servant worry about looking up 0 or more values in the query string
 associated to <code>authors</code> and turning each of them into a value of
 the type you specify.</p><p>You can control how the individual values are converted from <code>Text</code> to your type
 by simply providing an instance of <code><a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a></code> for your type.</p><p>Example:</p><pre>type MyApi = &quot;books&quot; :&gt; QueryParams &quot;authors&quot; Text :&gt; Get '[JSON] [Book]

server :: Server MyApi
server = getBooksBy
  where getBooksBy :: [Text] -&gt; Handler [Book]
        getBooksBy authors = ...return all books by these authors...</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:13" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParams">QueryParams</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParams">QueryParams</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParams">QueryParams</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParams">QueryParams</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:14" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:14')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownSymbol">KnownSymbol</a> sym, <a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a> a, <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParam">QueryParam</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) context</span> <a href="src/Servant-Server-Internal.html#line-322" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>If you use <code><code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParam">QueryParam</a></code> &quot;author&quot; Text</code> in one of the endpoints for your API,
 this automatically requires your server-side handler to be a function
 that takes an argument of type <code><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> <code>Text</code></code>.</p><p>This lets servant worry about looking it up in the query string
 and turning it into a value of the type you specify, enclosed
 in <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code>, because it may not be there and servant would then
 hand you <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code>.</p><p>You can control how it'll be converted from <code>Text</code> to your type
 by simply providing an instance of <code><a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a></code> for your type.</p><p>Example:</p><pre>type MyApi = &quot;books&quot; :&gt; QueryParam &quot;author&quot; Text :&gt; Get '[JSON] [Book]

server :: Server MyApi
server = getBooksBy
  where getBooksBy :: Maybe Text -&gt; Handler [Book]
        getBooksBy Nothing       = ...return all books...
        getBooksBy (Just author) = ...return books by the given author...</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:14" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParam">QueryParam</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParam">QueryParam</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParam">QueryParam</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-QueryParam.html#t:QueryParam">QueryParam</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> sym a) api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:15" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:15')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownSymbol">KnownSymbol</a> sym, <a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a> a, <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Header.html#t:Header">Header</a> sym a) api) context</span> <a href="src/Servant-Server-Internal.html#line-279" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>If you use <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Header.html#t:Header">Header</a></code> in one of the endpoints for your API,
 this automatically requires your server-side handler to be a function
 that takes an argument of the type specified by <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Header.html#t:Header">Header</a></code>.
 This lets servant worry about extracting it from the request and turning
 it into a value of the type you specify.</p><p>All it asks is for a <code><a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a></code> instance.</p><p>Example:</p><pre>newtype Referer = Referer Text
  deriving (Eq, Show, FromHttpApiData)

           -- GET /view-my-referer
type MyApi = &quot;view-my-referer&quot; :&gt; Header &quot;Referer&quot; Referer :&gt; Get '[JSON] Referer

server :: Server MyApi
server = viewReferer
  where viewReferer :: Referer -&gt; Handler referer
        viewReferer referer = return referer</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:15" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Header.html#t:Header">Header</a> sym a) api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Header.html#t:Header">Header</a> sym a) api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Header.html#t:Header">Header</a> sym a) api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Header.html#t:Header">Header</a> sym a) api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:16" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:16')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownSymbol">KnownSymbol</a> capture, <a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a> a, <a href="Servant-Server.html#t:HasServer">HasServer</a> k sublayout context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:CaptureAll">CaptureAll</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) sublayout) context</span> <a href="src/Servant-Server-Internal.html#line-160" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>If you use <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:CaptureAll">CaptureAll</a></code> in one of the endpoints for your API,
 this automatically requires your server-side handler to be a
 function that takes an argument of a list of the type specified by
 the <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:CaptureAll">CaptureAll</a></code>. This lets servant worry about getting values from
 the URL and turning them into values of the type you specify.</p><p>You can control how they'll be converted from <code>Text</code> to your type
 by simply providing an instance of <code><a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a></code> for your type.</p><p>Example:</p><pre>type MyApi = &quot;src&quot; :&gt; CaptureAll &quot;segments&quot; Text :&gt; Get '[JSON] SourceFile

server :: Server MyApi
server = getSourceFile
  where getSourceFile :: [Text] -&gt; Handler Book
        getSourceFile pathSegments = ...</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:16" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:CaptureAll">CaptureAll</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) sublayout) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:CaptureAll">CaptureAll</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) sublayout) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:CaptureAll">CaptureAll</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) sublayout) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:CaptureAll">CaptureAll</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) sublayout) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:17" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:17')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownSymbol">KnownSymbol</a> capture, <a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a> a, <a href="Servant-Server.html#t:HasServer">HasServer</a> k api context) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:Capture">Capture</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) api) context</span> <a href="src/Servant-Server-Internal.html#line-128" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc"><p>If you use <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:Capture">Capture</a></code> in one of the endpoints for your API,
 this automatically requires your server-side handler to be a function
 that takes an argument of the type specified by the <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:Capture">Capture</a></code>.
 This lets servant worry about getting it from the URL and turning
 it into a value of the type you specify.</p><p>You can control how it'll be converted from <code>Text</code> to your type
 by simply providing an instance of <code><a href="file:///usr/share/doc/libghc-http-api-data-doc/html/Web-Internal-HttpApiData.html#t:FromHttpApiData">FromHttpApiData</a></code> for your type.</p><p>Example:</p><pre>type MyApi = &quot;books&quot; :&gt; Capture &quot;isbn&quot; Text :&gt; Get '[JSON] Book

server :: Server MyApi
server = getBook
  where getBook :: Text -&gt; Handler Book
        getBook isbn = ...</pre></td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:17" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:Capture">Capture</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) api) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">(:&gt;)</a> k <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:Capture">Capture</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) api) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:Capture">Capture</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) api) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> ((k <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Sub.html#t::-62-">:&gt;</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Capture.html#t:Capture">Capture</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> capture a) api) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:18" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:18')"></span> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ContentTypes.html#t:AllCTRender">AllCTRender</a> ctypes a, <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:ReflectMethod">ReflectMethod</a> k1 method, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownNat">KnownNat</a> status, <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ResponseHeaders.html#t:GetHeaders">GetHeaders</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ResponseHeaders.html#t:Headers">Headers</a> h a)) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ResponseHeaders.html#t:Headers">Headers</a> h a)) context</span> <a href="src/Servant-Server-Internal.html#line-249" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:18" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ResponseHeaders.html#t:Headers">Headers</a> h a)) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ResponseHeaders.html#t:Headers">Headers</a> h a)) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ResponseHeaders.html#t:Headers">Headers</a> h a)) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ResponseHeaders.html#t:Headers">Headers</a> h a)) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasServer:HasServer:19" class="instance expander" onclick="toggleSection('i:ic:HasServer:HasServer:19')"></span> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-ContentTypes.html#t:AllCTRender">AllCTRender</a> ctypes a, <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:ReflectMethod">ReflectMethod</a> k1 method, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:KnownNat">KnownNat</a> status) =&gt; <a href="Servant-Server.html#t:HasServer">HasServer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes a) context</span> <a href="src/Servant-Server-Internal.html#line-239" class="link">Source</a> <a href="#t:HasServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasServer:HasServer:19" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Servant-Server.html#t:ServerT">ServerT</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes a) (context :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes a) (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Servant-Server-Internal.html#ServerT" class="link">Source</a> <a href="#t:ServerT" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:route">route</a> :: <a href="Servant.html#t:Proxy">Proxy</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes a) context -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:Delayed">Delayed</a> env (<a href="Servant-Server.html#t:Server">Server</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Verbs.html#t:Verb">Verb</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> k1 method status ctypes a) context) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal.html#route" class="link">Source</a> <a href="#v:route" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Server" class="def">Server</a> api = <a href="Servant-Server.html#t:ServerT">ServerT</a> api <a href="Servant-Server.html#t:Handler">Handler</a> <a href="src/Servant-Server-Internal.html#Server" class="link">Source</a> <a href="#t:Server" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:EmptyServer" class="def">EmptyServer</a> <a href="src/Servant-Server-Internal.html#EmptyServer" class="link">Source</a> <a href="#t:EmptyServer" class="selflink">#</a></p><div class="doc"><p>Singleton type representing a server that serves an empty API.</p></div><div class="subs instances"><p id="control.i:EmptyServer" class="caption collapser" onclick="toggleSection('i:EmptyServer')">Instances</p><div id="section.i:EmptyServer" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:EmptyServer:Bounded:1" class="instance expander" onclick="toggleSection('i:id:EmptyServer:Bounded:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a></span> <a href="src/Servant-Server-Internal.html#line-537" class="link">Source</a> <a href="#t:EmptyServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:EmptyServer:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:EmptyServer:Enum:2" class="instance expander" onclick="toggleSection('i:id:EmptyServer:Enum:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Enum">Enum</a> <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a></span> <a href="src/Servant-Server-Internal.html#line-537" class="link">Source</a> <a href="#t:EmptyServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:EmptyServer:Enum:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; [<a href="Servant-Server.html#t:EmptyServer">EmptyServer</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; [<a href="Servant-Server.html#t:EmptyServer">EmptyServer</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; [<a href="Servant-Server.html#t:EmptyServer">EmptyServer</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; [<a href="Servant-Server.html#t:EmptyServer">EmptyServer</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:EmptyServer:Eq:3" class="instance expander" onclick="toggleSection('i:id:EmptyServer:Eq:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a></span> <a href="src/Servant-Server-Internal.html#line-537" class="link">Source</a> <a href="#t:EmptyServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:EmptyServer:Eq:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:EmptyServer:Show:4" class="instance expander" onclick="toggleSection('i:id:EmptyServer:Show:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a></span> <a href="src/Servant-Server-Internal.html#line-537" class="link">Source</a> <a href="#t:EmptyServer" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:EmptyServer:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Servant-Server.html#t:EmptyServer">EmptyServer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Servant-Server.html#t:EmptyServer">EmptyServer</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyServer" class="def">emptyServer</a> :: <a href="Servant-Server.html#t:ServerT">ServerT</a> <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a> m <a href="src/Servant-Server-Internal.html#emptyServer" class="link">Source</a> <a href="#v:emptyServer" class="selflink">#</a></p><div class="doc"><p>Server for <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-Empty.html#t:EmptyAPI">EmptyAPI</a></code></p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Handler" class="def">Handler</a> a <a href="src/Servant-Server-Internal-Handler.html#Handler" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Handler" class="def">Handler</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:runHandler-39-" class="def">runHandler'</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> a</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Handler" class="caption collapser" onclick="toggleSection('i:Handler')">Instances</p><div id="section.i:Handler" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:Monad:1" class="instance expander" onclick="toggleSection('i:id:Handler:Monad:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-23" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:Monad:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(&gt;&gt;=)</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; (a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b) -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(&gt;&gt;)</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:Functor:2" class="instance expander" onclick="toggleSection('i:id:Handler:Functor:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-23" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:Functor:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:Applicative:3" class="instance expander" onclick="toggleSection('i:id:Handler:Applicative:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-23" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:Applicative:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> (a -&gt; b) -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> b -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:MonadIO:4" class="instance expander" onclick="toggleSection('i:id:Handler:MonadIO:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-23" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:MonadIO:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftIO">liftIO</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:liftIO" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:MonadThrow:5" class="instance expander" onclick="toggleSection('i:id:Handler:MonadThrow:5')"></span> <a href="file:///usr/share/doc/libghc-exceptions-doc/html/Control-Monad-Catch.html#t:MonadThrow">MonadThrow</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-25" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:MonadThrow:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:throwM">throwM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Exception-Base.html#t:Exception">Exception</a> e =&gt; e -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:throwM" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:MonadCatch:6" class="instance expander" onclick="toggleSection('i:id:Handler:MonadCatch:6')"></span> <a href="file:///usr/share/doc/libghc-exceptions-doc/html/Control-Monad-Catch.html#t:MonadCatch">MonadCatch</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-25" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:MonadCatch:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:catch">catch</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Exception-Base.html#t:Exception">Exception</a> e =&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; (e -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a) -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:catch" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:MonadBase:7" class="instance expander" onclick="toggleSection('i:id:Handler:MonadBase:7')"></span> <a href="file:///usr/share/doc/libghc-transformers-base-doc/html/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-28" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:MonadBase:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftBase">liftBase</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> &#945; -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> &#945; <a href="#v:liftBase" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:MonadBaseControl:8" class="instance expander" onclick="toggleSection('i:id:Handler:MonadBaseControl:8')"></span> <a href="file:///usr/share/doc/libghc-monad-control-doc/html/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-31" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:MonadBaseControl:8" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-monad-control-doc/html/Control-Monad-Trans-Control.html#t:StM">StM</a> (<a href="Servant-Server.html#t:Handler">Handler</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) a :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:StM" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftBaseWith">liftBaseWith</a> :: (<a href="file:///usr/share/doc/libghc-monad-control-doc/html/Control-Monad-Trans-Control.html#t:RunInBase">RunInBase</a> <a href="Servant-Server.html#t:Handler">Handler</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> a) -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:liftBaseWith" class="selflink">#</a></p><p class="src"><a href="#v:restoreM">restoreM</a> :: <a href="file:///usr/share/doc/libghc-monad-control-doc/html/Control-Monad-Trans-Control.html#t:StM">StM</a> <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:restoreM" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:MonadError:9" class="instance expander" onclick="toggleSection('i:id:Handler:MonadError:9')"></span> <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="src/Servant-Server-Internal-Handler.html#line-24" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:MonadError:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:throwError">throwError</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:throwError" class="selflink">#</a></p><p class="src"><a href="#v:catchError">catchError</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; (<a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a) -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:catchError" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:Generic:10" class="instance expander" onclick="toggleSection('i:id:Handler:Generic:10')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Generic">Generic</a> (<a href="Servant-Server.html#t:Handler">Handler</a> a)</span> <a href="src/Servant-Server-Internal-Handler.html#line-23" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:Generic:10" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Handler">Handler</a> a) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Handler">Handler</a> a) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Handler">Handler</a> a) x -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:StM:11" class="instance expander" onclick="toggleSection('i:id:Handler:StM:11')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-monad-control-doc/html/Control-Monad-Trans-Control.html#t:StM">StM</a> <a href="Servant-Server.html#t:Handler">Handler</a> a</span> <a href="src/Servant-Server-Internal-Handler.html#line-32" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:StM:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-monad-control-doc/html/Control-Monad-Trans-Control.html#t:StM">StM</a> <a href="Servant-Server.html#t:Handler">Handler</a> a = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> a</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Handler:Rep:12" class="instance expander" onclick="toggleSection('i:id:Handler:Rep:12')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Handler">Handler</a> a)</span> <a href="src/Servant-Server-Internal-Handler.html#line-21" class="link">Source</a> <a href="#t:Handler" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Handler:Rep:12" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Handler">Handler</a> a) = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:D1">D1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaData">MetaData</a> &quot;Handler&quot; &quot;Servant.Server.Internal.Handler&quot; &quot;servant-server-0.11.0.1-JrB03UWYQDf2SsN0uXGSw6&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:C1">C1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> &quot;Handler&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:S1">S1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> &quot;runHandler'&quot;) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rec0">Rec0</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> a))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:runHandler" class="def">runHandler</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> a) <a href="src/Servant-Server-Internal-Handler.html#runHandler" class="link">Source</a> <a href="#v:runHandler" class="selflink">#</a></p></div><h1 id="g:4">Debugging the server layout</h1><div class="top"><p class="src"><a id="v:layout" class="def">layout</a> :: <a href="Servant-Server.html#t:HasServer">HasServer</a> api '[] =&gt; <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="file:///usr/share/doc/libghc-text-doc/html/Data-Text.html#t:Text">Text</a> <a href="src/Servant-Server.html#layout" class="link">Source</a> <a href="#v:layout" class="selflink">#</a></p><div class="doc"><p>The function <code><a href="Servant-Server.html#v:layout">layout</a></code> produces a textual description of the internal
 router layout for debugging purposes. Note that the router layout is
 determined just by the API, not by the handlers.</p><p>Example:</p><p>For the following API</p><pre>type API =
       &quot;a&quot; :&gt; &quot;d&quot; :&gt; Get '[JSON] NoContent
  :&lt;|&gt; &quot;b&quot; :&gt; Capture &quot;x&quot; Int :&gt; Get '[JSON] Bool
  :&lt;|&gt; &quot;c&quot; :&gt; Put '[JSON] Bool
  :&lt;|&gt; &quot;a&quot; :&gt; &quot;e&quot; :&gt; Get '[JSON] Int
  :&lt;|&gt; &quot;b&quot; :&gt; Capture &quot;x&quot; Int :&gt; Put '[JSON] Bool
  :&lt;|&gt; Raw</pre><p>we get the following output:</p><pre>/
&#9500;&#9472; a/
&#9474;  &#9500;&#9472; d/
&#9474;  &#9474;  &#9492;&#9472;&#8226;
&#9474;  &#9492;&#9472; e/
&#9474;     &#9492;&#9472;&#8226;
&#9500;&#9472; b/
&#9474;  &#9492;&#9472; &lt;capture&gt;/
&#9474;     &#9500;&#9472;&#8226;
&#9474;     &#9478;
&#9474;     &#9492;&#9472;&#8226;
&#9500;&#9472; c/
&#9474;  &#9492;&#9472;&#8226;
&#9478;
&#9492;&#9472; &lt;raw&gt;</pre><p>Explanation of symbols:</p><dl><dt><code>&#9500;</code></dt><dd>Normal lines reflect static branching via a table.</dd><dt><code>a/</code></dt><dd>Nodes reflect static path components.</dd><dt><code>&#9472;&#8226;</code></dt><dd>Leaves reflect endpoints.</dd><dt><code>&lt;capture&gt;/</code></dt><dd>This is a delayed capture of a path component.</dd><dt><code>&lt;raw&gt;</code></dt><dd>This is a part of the API we do not know anything about.</dd><dt><code>&#9478;</code></dt><dd>Dashed lines suggest a dynamic choice between the part above
 and below. If there is a success for fatal failure in the first part,
 that one takes precedence. If both parts fail, the &quot;better&quot; error
 code will be returned.</dd></dl></div></div><div class="top"><p class="src"><a id="v:layoutWithContext" class="def">layoutWithContext</a> :: <a href="Servant-Server.html#t:HasServer">HasServer</a> api context =&gt; <a href="Servant.html#t:Proxy">Proxy</a> api -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="file:///usr/share/doc/libghc-text-doc/html/Data-Text.html#t:Text">Text</a> <a href="src/Servant-Server.html#layoutWithContext" class="link">Source</a> <a href="#v:layoutWithContext" class="selflink">#</a></p><div class="doc"><p>Variant of <code><a href="Servant-Server.html#v:layout">layout</a></code> that takes an additional <code><a href="Servant-Server.html#t:Context">Context</a></code>.</p></div></div><h1 id="g:5">Enter</h1><div class="doc"><p>Sometimes our cherished <code>ExceptT</code> monad isn't quite the type you'd like for
 your handlers. Maybe you want to thread some configuration in a <code>Reader</code>
 monad. Or have your types ensure that your handlers don't do any IO. Enter
 <code><a href="Servant-Server.html#v:enter">enter</a></code>.</p><p>With <code><a href="Servant-Server.html#v:enter">enter</a></code>, you can provide a function, wrapped in the `(:~&gt;)` / <code><a href="Servant-Server.html#v:NT">NT</a></code>
 newtype, to convert any number of endpoints from one type constructor to
 another. For example</p><p><em>Note:</em> <code><a href="Servant-Server.html#t:Server">Server</a></code> <code>Raw</code> can also be entered. It will be retagged.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>import Control.Monad.Reader
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>import qualified Control.Category as C
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>type ReaderAPI = &quot;ep1&quot; :&gt; Get '[JSON] Int :&lt;|&gt; &quot;ep2&quot; :&gt; Get '[JSON] String :&lt;|&gt; Raw :&lt;|&gt; EmptyAPI
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let readerServer = return 1797 :&lt;|&gt; ask :&lt;|&gt; Tagged (error &quot;raw server&quot;) :&lt;|&gt; emptyServer :: ServerT ReaderAPI (Reader String)
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let nt = generalizeNat C.. (runReaderTNat &quot;hi&quot;) :: Reader String :~&gt; Handler
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let mainServer = enter nt readerServer :: Server ReaderAPI
</code></strong></pre></div><h2 id="g:6">Basic functions and datatypes</h2><div class="top"><p class="src"><a id="v:enter" class="def">enter</a> :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-Utils-Enter.html#t:Enter">Enter</a> typ m n ret =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m n -&gt; typ -&gt; ret <a href="#v:enter" class="selflink">#</a></p><div class="doc"><p>Map the leafs of an API type.</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> (k <a id="t::-126--62-" class="def">:~&gt;</a> f) g :: <span class="keyword">forall</span> k. (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) -&gt; (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t::-126--62-" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NT" class="def">NT</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:-36--36-" class="def">($$)</a> :: (~&gt;) k f g</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i::-126--62-" class="caption collapser" onclick="toggleSection('i::-126--62-')">Instances</p><div id="section.i::-126--62-" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id::-126--62-:Transformation:1" class="instance expander" onclick="toggleSection('i:id::-126--62-:Transformation:1')"></span> Transformation k f g (<a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> k f g)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id::-126--62-:Transformation:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-35-">(#)</a> :: t -&gt; <span class="keyword">forall</span> a. g a -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g a</p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id::-126--62-:Category:2" class="instance expander" onclick="toggleSection('i:id::-126--62-:Category:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Category.html#t:Category">Category</a> (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> k)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id::-126--62-:Category:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:id">id</a> :: cat a a <a href="#v:id" class="selflink">#</a></p><p class="src"><a href="#v:.">(.)</a> :: cat b c -&gt; cat a b -&gt; cat a c <a href="#v:." class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id::-126--62-:Semigroup:3" class="instance expander" onclick="toggleSection('i:id::-126--62-:Semigroup:3')"></span> (~) (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) f g =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> k f g)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id::-126--62-:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> ((k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g) -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; b -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id::-126--62-:Monoid:4" class="instance expander" onclick="toggleSection('i:id::-126--62-:Monoid:4')"></span> (~) (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) f g =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> k f g)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id::-126--62-:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [(k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g] -&gt; (k <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h2 id="g:7"><code>Nat</code> utilities</h2><div class="top"><p class="src"><a id="v:liftNat" class="def">liftNat</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Class.html#t:MonadTrans">MonadTrans</a> t, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m (t m) <a href="#v:liftNat" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Class.html#v:lift">lift</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:runReaderTNat" class="def">runReaderTNat</a> :: r -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> r m) m <a href="#v:runReaderTNat" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:evalStateTLNat" class="def">evalStateTLNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; s -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> s m) m <a href="#v:evalStateTLNat" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:evalStateTSNat" class="def">evalStateTSNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; s -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> s m) m <a href="#v:evalStateTSNat" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:logWriterTLNat" class="def">logWriterTLNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; (w -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> ()) -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w m) m <a href="#v:logWriterTLNat" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Servant-Server.html#v:logWriterTSNat">logWriterTSNat</a></code>, but for lazy <code>WriterT</code>.</p></div></div><div class="top"><p class="src"><a id="v:logWriterTSNat" class="def">logWriterTSNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; (w -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> ()) -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w m) m <a href="#v:logWriterTSNat" class="selflink">#</a></p><div class="doc"><p>Log the contents of <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a></code> with the function provided as the
 first argument, and return the value of the <code>WriterT</code> computation</p></div></div><h2 id="g:8">Functions based on <a href="https://hackage.haskell.org/package/mmorph">mmorph</a></h2><div class="top"><p class="src"><a id="v:hoistNat" class="def">hoistNat</a> :: (MFunctor t, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m n -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (t m) (t n) <a href="#v:hoistNat" class="selflink">#</a></p><div class="doc"><p>Like <code>mmorph</code>'s <code>hoist</code>.</p></div></div><div class="top"><p class="src"><a id="v:embedNat" class="def">embedNat</a> :: (MMonad t, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> n) =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m (t n) -&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (t m) (t n) <a href="#v:embedNat" class="selflink">#</a></p><div class="doc"><p>Like <code>mmorph</code>'s <code>embed</code>.</p></div></div><div class="top"><p class="src"><a id="v:squashNat" class="def">squashNat</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, MMonad t) =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (t (t m)) (t m) <a href="#v:squashNat" class="selflink">#</a></p><div class="doc"><p>Like <code>mmorph</code>'s <code>squash</code>.</p></div></div><div class="top"><p class="src"><a id="v:generalizeNat" class="def">generalizeNat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> m =&gt; <a href="Servant-Server.html#t::-126--62-">(:~&gt;)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> m <a href="#v:generalizeNat" class="selflink">#</a></p><div class="doc"><p>Like <code>mmorph</code>'s <code>generalize</code>.</p></div></div><div class="top"><p class="src"><a id="v:tweakResponse" class="def">tweakResponse</a> :: (<a href="Servant-Server-Internal-RoutingApplication.html#t:RouteResult">RouteResult</a> <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:Response">Response</a> -&gt; <a href="Servant-Server-Internal-RoutingApplication.html#t:RouteResult">RouteResult</a> <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:Response">Response</a>) -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env -&gt; <a href="Servant-Server-Internal-Router.html#t:Router">Router</a> env <a href="src/Servant-Server-Internal-Router.html#tweakResponse" class="link">Source</a> <a href="#v:tweakResponse" class="selflink">#</a></p><div class="doc"><p>Apply a transformation to the response of a <code><a href="Servant-Server-Internal-Router.html#t:Router">Router</a></code>.</p></div></div><h1 id="g:9">Context</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Context" class="def">Context</a> contextTypes <span class="keyword">where</span> <a href="src/Servant-Server-Internal-Context.html#Context" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#t:Context">Context</a></code>s are used to pass values to combinators. (They are <strong>not</strong> meant
 to be used to pass parameters to your handlers, i.e. they should not replace
 any custom <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Reader.html#v:ReaderT">ReaderT</a></code>-monad-stack that you're using
 with <code><a href="Servant-Utils.html#v:Enter">Enter</a></code>.) If you don't use combinators that
 require any context entries, you can just use <code><a href="Servant-Server.html#v:serve">serve</a></code> as always.</p><p>If you are using combinators that require a non-empty <code><a href="Servant-Server.html#t:Context">Context</a></code> you have to
 use <code><a href="Servant-Server.html#v:serveWithContext">serveWithContext</a></code> and pass it a <code><a href="Servant-Server.html#t:Context">Context</a></code> that contains all
 the values your combinators need. A <code><a href="Servant-Server.html#t:Context">Context</a></code> is essentially a heterogenous
 list and accessing the elements is being done by type (see <code><a href="Servant-Server.html#v:getContextEntry">getContextEntry</a></code>).
 The parameter of the type <code><a href="Servant-Server.html#t:Context">Context</a></code> is a type-level list reflecting the types
 of the contained context entries. To create a <code><a href="Servant-Server.html#t:Context">Context</a></code> with entries, use the
 operator <code>(<code><a href="Servant-Server.html#v::.">:.</a></code>)</code>:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>:type True :. () :. EmptyContext
</code></strong>True :. () :. EmptyContext :: Context '[Bool, ()]
</pre></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:EmptyContext" class="def">EmptyContext</a> :: <a href="Servant-Server.html#t:Context">Context</a> '[]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v::." class="def">(:.)</a> :: x -&gt; <a href="Servant-Server.html#t:Context">Context</a> xs -&gt; <a href="Servant-Server.html#t:Context">Context</a> (x ': xs) <span class="fixity">infixr 5</span><span class="rightedge"></span></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Context" class="caption collapser" onclick="toggleSection('i:Context')">Instances</p><div id="section.i:Context" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Context:Eq:1" class="instance expander" onclick="toggleSection('i:id:Context:Eq:1')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Servant-Server.html#t:Context">Context</a> as)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Servant-Server.html#t:Context">Context</a> ((:) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a as))</span> <a href="src/Servant-Server-Internal-Context.html#line-48" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Context:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Context:Eq:2" class="instance expander" onclick="toggleSection('i:id:Context:Eq:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Servant-Server.html#t:Context">Context</a> ([] <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>))</span> <a href="src/Servant-Server-Internal-Context.html#line-46" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Context:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Servant-Server.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="Servant-Server.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Servant-Server.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="Servant-Server.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Context:Show:3" class="instance expander" onclick="toggleSection('i:id:Context:Show:3')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Servant-Server.html#t:Context">Context</a> as)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Servant-Server.html#t:Context">Context</a> ((:) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a as))</span> <a href="src/Servant-Server-Internal-Context.html#line-41" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Context:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': a) as)] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Context:Show:4" class="instance expander" onclick="toggleSection('i:id:Context:Show:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Servant-Server.html#t:Context">Context</a> ([] <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>))</span> <a href="src/Servant-Server-Internal-Context.html#line-39" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Context:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Servant-Server.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Servant-Server.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>]] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasContextEntry" class="def">HasContextEntry</a> context val <span class="keyword">where</span> <a href="src/Servant-Server-Internal-Context.html#HasContextEntry" class="link">Source</a> <a href="#t:HasContextEntry" class="selflink">#</a></p><div class="doc"><p>This class is used to access context entries in <code><a href="Servant-Server.html#t:Context">Context</a></code>s. <code><a href="Servant-Server.html#v:getContextEntry">getContextEntry</a></code>
 returns the first value where the type matches:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>getContextEntry (True :. False :. EmptyContext) :: Bool
</code></strong>True
</pre><p>If the <code><a href="Servant-Server.html#t:Context">Context</a></code> does not contain an entry of the requested type, you'll get
 an error:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>getContextEntry (True :. False :. EmptyContext) :: String
</code></strong>...
...No instance for (HasContextEntry '[] [Char])
...
</pre></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Servant-Server.html#v:getContextEntry">getContextEntry</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:getContextEntry" class="def">getContextEntry</a> :: <a href="Servant-Server.html#t:Context">Context</a> context -&gt; val <a href="src/Servant-Server-Internal-Context.html#getContextEntry" class="link">Source</a> <a href="#v:getContextEntry" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:HasContextEntry" class="caption collapser" onclick="toggleSection('i:HasContextEntry')">Instances</p><div id="section.i:HasContextEntry" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasContextEntry:HasContextEntry:1" class="instance expander" onclick="toggleSection('i:ic:HasContextEntry:HasContextEntry:1')"></span> <a href="Servant-Server.html#t:HasContextEntry">HasContextEntry</a> ((:) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> val xs) val</span> <a href="src/Servant-Server-Internal-Context.html#line-72" class="link">Source</a> <a href="#t:HasContextEntry" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasContextEntry:HasContextEntry:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:getContextEntry">getContextEntry</a> :: <a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': val) xs) -&gt; val <a href="src/Servant-Server-Internal-Context.html#getContextEntry" class="link">Source</a> <a href="#v:getContextEntry" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasContextEntry:HasContextEntry:2" class="instance expander" onclick="toggleSection('i:ic:HasContextEntry:HasContextEntry:2')"></span> <a href="Servant-Server.html#t:HasContextEntry">HasContextEntry</a> xs val =&gt; <a href="Servant-Server.html#t:HasContextEntry">HasContextEntry</a> ((:) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> notIt xs) val</span> <a href="src/Servant-Server-Internal-Context.html#line-68" class="link">Source</a> <a href="#t:HasContextEntry" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasContextEntry:HasContextEntry:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:getContextEntry">getContextEntry</a> :: <a href="Servant-Server.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> ': notIt) xs) -&gt; val <a href="src/Servant-Server-Internal-Context.html#getContextEntry" class="link">Source</a> <a href="#v:getContextEntry" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h2 id="g:10">NamedContext</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:NamedContext" class="def">NamedContext</a> name subContext <a href="src/Servant-Server-Internal-Context.html#NamedContext" class="link">Source</a> <a href="#t:NamedContext" class="selflink">#</a></p><div class="doc"><p>Normally context entries are accessed by their types. In case you need
 to have multiple values of the same type in your <code><a href="Servant-Server.html#t:Context">Context</a></code> and need to access
 them, we provide <code><a href="Servant-Server.html#t:NamedContext">NamedContext</a></code>. You can think of it as sub-namespaces for
 <code><a href="Servant-Server.html#t:Context">Context</a></code>s.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NamedContext" class="def">NamedContext</a> (<a href="Servant-Server.html#t:Context">Context</a> subContext)</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a id="v:descendIntoNamedContext" class="def">descendIntoNamedContext</a> :: <span class="keyword">forall</span> context name subContext. <a href="Servant-Server.html#t:HasContextEntry">HasContextEntry</a> context (<a href="Servant-Server.html#t:NamedContext">NamedContext</a> name subContext) =&gt; <a href="Servant.html#t:Proxy">Proxy</a> (name :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) -&gt; <a href="Servant-Server.html#t:Context">Context</a> context -&gt; <a href="Servant-Server.html#t:Context">Context</a> subContext <a href="src/Servant-Server-Internal-Context.html#descendIntoNamedContext" class="link">Source</a> <a href="#v:descendIntoNamedContext" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:descendIntoNamedContext">descendIntoNamedContext</a></code> allows you to access <code><a href="Servant-Server.html#t:NamedContext">NamedContext</a></code>s. Usually you
 won't have to use it yourself but instead use a combinator like
 <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-WithNamedContext.html#v:WithNamedContext">WithNamedContext</a></code>.</p><p>This is how <code><a href="Servant-Server.html#v:descendIntoNamedContext">descendIntoNamedContext</a></code> works:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>:set -XFlexibleContexts
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let subContext = True :. EmptyContext
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>:type subContext
</code></strong>subContext :: Context '[Bool]
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let parentContext = False :. (NamedContext subContext :: NamedContext &quot;subContext&quot; '[Bool]) :. EmptyContext
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>:type parentContext
</code></strong>parentContext :: Context '[Bool, NamedContext &quot;subContext&quot; '[Bool]]
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>descendIntoNamedContext (Proxy :: Proxy &quot;subContext&quot;) parentContext :: Context '[Bool]
</code></strong>True :. EmptyContext
</pre></div></div><h1 id="g:11">Basic Authentication</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:BasicAuthCheck" class="def">BasicAuthCheck</a> usr <a href="src/Servant-Server-Internal-BasicAuth.html#BasicAuthCheck" class="link">Source</a> <a href="#t:BasicAuthCheck" class="selflink">#</a></p><div class="doc"><p>Datatype wrapping a function used to check authentication.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BasicAuthCheck" class="def">BasicAuthCheck</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unBasicAuthCheck" class="def">unBasicAuthCheck</a> :: <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-BasicAuth.html#t:BasicAuthData">BasicAuthData</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr)</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:BasicAuthCheck" class="caption collapser" onclick="toggleSection('i:BasicAuthCheck')">Instances</p><div id="section.i:BasicAuthCheck" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthCheck:Functor:1" class="instance expander" onclick="toggleSection('i:id:BasicAuthCheck:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a></span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-42" class="link">Source</a> <a href="#t:BasicAuthCheck" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthCheck:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> a -&gt; <a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> b -&gt; <a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthCheck:Generic:2" class="instance expander" onclick="toggleSection('i:id:BasicAuthCheck:Generic:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Generic">Generic</a> (<a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr)</span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-42" class="link">Source</a> <a href="#t:BasicAuthCheck" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthCheck:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr) x -&gt; <a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthCheck:Rep:3" class="instance expander" onclick="toggleSection('i:id:BasicAuthCheck:Rep:3')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr)</span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-38" class="link">Source</a> <a href="#t:BasicAuthCheck" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthCheck:Rep:3" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthCheck">BasicAuthCheck</a> usr) = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:D1">D1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaData">MetaData</a> &quot;BasicAuthCheck&quot; &quot;Servant.Server.Internal.BasicAuth&quot; &quot;servant-server-0.11.0.1-JrB03UWYQDf2SsN0uXGSw6&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:C1">C1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> &quot;BasicAuthCheck&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:S1">S1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> &quot;unBasicAuthCheck&quot;) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rec0">Rec0</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-BasicAuth.html#t:BasicAuthData">BasicAuthData</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BasicAuthResult" class="def">BasicAuthResult</a> usr <a href="src/Servant-Server-Internal-BasicAuth.html#BasicAuthResult" class="link">Source</a> <a href="#t:BasicAuthResult" class="selflink">#</a></p><div class="doc"><p>servant-server's current implementation of basic authentication is not
 immune to certian kinds of timing attacks. Decoding payloads does not take
 a fixed amount of time.</p><p>The result of authentication/authorization</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Unauthorized" class="def">Unauthorized</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:BadPassword" class="def">BadPassword</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:NoSuchUser" class="def">NoSuchUser</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:Authorized" class="def">Authorized</a> usr</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:BasicAuthResult" class="caption collapser" onclick="toggleSection('i:BasicAuthResult')">Instances</p><div id="section.i:BasicAuthResult" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthResult:Functor:1" class="instance expander" onclick="toggleSection('i:id:BasicAuthResult:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a></span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-35" class="link">Source</a> <a href="#t:BasicAuthResult" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthResult:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> a -&gt; <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> b -&gt; <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthResult:Eq:2" class="instance expander" onclick="toggleSection('i:id:BasicAuthResult:Eq:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> usr =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr)</span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-35" class="link">Source</a> <a href="#t:BasicAuthResult" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthResult:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr -&gt; <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr -&gt; <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthResult:Read:3" class="instance expander" onclick="toggleSection('i:id:BasicAuthResult:Read:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Read.html#t:Read">Read</a> usr =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Read.html#t:Read">Read</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr)</span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-35" class="link">Source</a> <a href="#t:BasicAuthResult" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthResult:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthResult:Show:4" class="instance expander" onclick="toggleSection('i:id:BasicAuthResult:Show:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> usr =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr)</span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-35" class="link">Source</a> <a href="#t:BasicAuthResult" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthResult:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthResult:Generic:5" class="instance expander" onclick="toggleSection('i:id:BasicAuthResult:Generic:5')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Generic">Generic</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr)</span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-35" class="link">Source</a> <a href="#t:BasicAuthResult" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthResult:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr) x -&gt; <a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BasicAuthResult:Rep:6" class="instance expander" onclick="toggleSection('i:id:BasicAuthResult:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr)</span> <a href="src/Servant-Server-Internal-BasicAuth.html#line-30" class="link">Source</a> <a href="#t:BasicAuthResult" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:BasicAuthResult:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:BasicAuthResult">BasicAuthResult</a> usr) = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:D1">D1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaData">MetaData</a> &quot;BasicAuthResult&quot; &quot;Servant.Server.Internal.BasicAuth&quot; &quot;servant-server-0.11.0.1-JrB03UWYQDf2SsN0uXGSw6&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:C1">C1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> &quot;Unauthorized&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:False">False</a>) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:U1">U1</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:C1">C1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> &quot;BadPassword&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:False">False</a>) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:U1">U1</a>)) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:C1">C1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> &quot;NoSuchUser&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:False">False</a>) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:U1">U1</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:C1">C1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> &quot;Authorized&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:S1">S1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rec0">Rec0</a> usr)))))</div></div></td></tr></table></div></div></div><h1 id="g:12">General Authentication</h1><h1 id="g:13">Default error type</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ServantErr" class="def">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#ServantErr" class="link">Source</a> <a href="#t:ServantErr" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ServantErr" class="def">ServantErr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:errHTTPCode" class="def">errHTTPCode</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:errReasonPhrase" class="def">errReasonPhrase</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:errBody" class="def">errBody</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.8.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:errHeaders" class="def">errHeaders</a> :: [<a href="file:///usr/share/doc/libghc-http-types-doc/html/Network-HTTP-Types-Header.html#t:Header">Header</a>]</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ServantErr" class="caption collapser" onclick="toggleSection('i:ServantErr')">Instances</p><div id="section.i:ServantErr" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ServantErr:Eq:1" class="instance expander" onclick="toggleSection('i:id:ServantErr:Eq:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a></span> <a href="src/Servant-Server-Internal-ServantErr.html#line-17" class="link">Source</a> <a href="#t:ServantErr" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:ServantErr:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ServantErr:Read:2" class="instance expander" onclick="toggleSection('i:id:ServantErr:Read:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Read.html#t:Read">Read</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a></span> <a href="src/Servant-Server-Internal-ServantErr.html#line-17" class="link">Source</a> <a href="#t:ServantErr" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:ServantErr:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [<a href="Servant-Server.html#t:ServantErr">ServantErr</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Servant-Server.html#t:ServantErr">ServantErr</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ServantErr:Show:3" class="instance expander" onclick="toggleSection('i:id:ServantErr:Show:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a></span> <a href="src/Servant-Server-Internal-ServantErr.html#line-17" class="link">Source</a> <a href="#t:ServantErr" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:ServantErr:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Servant-Server.html#t:ServantErr">ServantErr</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ServantErr:Exception:4" class="instance expander" onclick="toggleSection('i:id:ServantErr:Exception:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Exception-Base.html#t:Exception">Exception</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a></span> <a href="src/Servant-Server-Internal-ServantErr.html#line-19" class="link">Source</a> <a href="#t:ServantErr" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:ServantErr:Exception:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toException">toException</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Exception-Base.html#t:SomeException">SomeException</a> <a href="#v:toException" class="selflink">#</a></p><p class="src"><a href="#v:fromException">fromException</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Exception-Base.html#t:SomeException">SomeException</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="#v:fromException" class="selflink">#</a></p><p class="src"><a href="#v:displayException">displayException</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:displayException" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ServantErr:MonadError:5" class="instance expander" onclick="toggleSection('i:id:ServantErr:MonadError:5')"></span> <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="Servant-Server.html#t:Handler">Handler</a></span> <a href="#t:MonadError" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:ServantErr:MonadError:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:throwError">throwError</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:throwError" class="selflink">#</a></p><p class="src"><a href="#v:catchError">catchError</a> :: <a href="Servant-Server.html#t:Handler">Handler</a> a -&gt; (<a href="Servant-Server.html#t:ServantErr">ServantErr</a> -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a) -&gt; <a href="Servant-Server.html#t:Handler">Handler</a> a <a href="#v:catchError" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h2 id="g:14">3XX</h2><div class="top"><p class="src"><a id="v:err300" class="def">err300</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err300" class="link">Source</a> <a href="#v:err300" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err300">err300</a></code> Multiple Choices</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err300 { errBody = &quot;I can't choose.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err301" class="def">err301</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err301" class="link">Source</a> <a href="#v:err301" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err301">err301</a></code> Moved Permanently</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err301</pre></div></div><div class="top"><p class="src"><a id="v:err302" class="def">err302</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err302" class="link">Source</a> <a href="#v:err302" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err302">err302</a></code> Found</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err302</pre></div></div><div class="top"><p class="src"><a id="v:err303" class="def">err303</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err303" class="link">Source</a> <a href="#v:err303" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err303">err303</a></code> See Other</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err303</pre></div></div><div class="top"><p class="src"><a id="v:err304" class="def">err304</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err304" class="link">Source</a> <a href="#v:err304" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err304">err304</a></code> Not Modified</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err304</pre></div></div><div class="top"><p class="src"><a id="v:err305" class="def">err305</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err305" class="link">Source</a> <a href="#v:err305" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err305">err305</a></code> Use Proxy</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err305</pre></div></div><div class="top"><p class="src"><a id="v:err307" class="def">err307</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err307" class="link">Source</a> <a href="#v:err307" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err307">err307</a></code> Temporary Redirect</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err307</pre></div></div><h2 id="g:15">4XX</h2><div class="top"><p class="src"><a id="v:err400" class="def">err400</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err400" class="link">Source</a> <a href="#v:err400" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err400">err400</a></code> Bad Request</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err400 { errBody = &quot;Your request makes no sense to me.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err401" class="def">err401</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err401" class="link">Source</a> <a href="#v:err401" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err401">err401</a></code> Unauthorized</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err401 { errBody = &quot;Your credentials are invalid.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err402" class="def">err402</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err402" class="link">Source</a> <a href="#v:err402" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err402">err402</a></code> Payment Required</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err402 { errBody = &quot;You have 0 credits. Please give me $$$.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err403" class="def">err403</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err403" class="link">Source</a> <a href="#v:err403" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err403">err403</a></code> Forbidden</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err403 { errBody = &quot;Please login first.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err404" class="def">err404</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err404" class="link">Source</a> <a href="#v:err404" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err404">err404</a></code> Not Found</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err404 { errBody = &quot;(&#9583;&#176;&#9633;&#176;&#65289;&#9583;&#65077; &#9531;&#9473;&#9531;).&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err405" class="def">err405</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err405" class="link">Source</a> <a href="#v:err405" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err405">err405</a></code> Method Not Allowed</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err405 { errBody = &quot;Your account privileges does not allow for this.  Please pay $$$.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err406" class="def">err406</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err406" class="link">Source</a> <a href="#v:err406" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err406">err406</a></code> Not Acceptable</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err406</pre></div></div><div class="top"><p class="src"><a id="v:err407" class="def">err407</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err407" class="link">Source</a> <a href="#v:err407" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err407">err407</a></code> Proxy Authentication Required</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err407</pre></div></div><div class="top"><p class="src"><a id="v:err409" class="def">err409</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err409" class="link">Source</a> <a href="#v:err409" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err409">err409</a></code> Conflict</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err409 { errBody = &quot;Transaction conflicts with 59879cb56c7c159231eeacdd503d755f7e835f74&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err410" class="def">err410</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err410" class="link">Source</a> <a href="#v:err410" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err410">err410</a></code> Gone</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err410 { errBody = &quot;I know it was here at some point, but.. I blame bad luck.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err411" class="def">err411</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err411" class="link">Source</a> <a href="#v:err411" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err411">err411</a></code> Length Required</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError err411</pre></div></div><div class="top"><p class="src"><a id="v:err412" class="def">err412</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err412" class="link">Source</a> <a href="#v:err412" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err412">err412</a></code> Precondition Failed</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err412 { errBody = &quot;Precondition fail: x &lt; 42 &amp;&amp; y &gt; 57&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err413" class="def">err413</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err413" class="link">Source</a> <a href="#v:err413" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err413">err413</a></code> Request Entity Too Large</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err413 { errBody = &quot;Request exceeded 64k.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err414" class="def">err414</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err414" class="link">Source</a> <a href="#v:err414" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err414">err414</a></code> Request-URI Too Large</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err414 { errBody = &quot;Maximum length is 64.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err415" class="def">err415</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err415" class="link">Source</a> <a href="#v:err415" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err415">err415</a></code> Unsupported Media Type</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err415 { errBody = &quot;Supported media types:  gif, png&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err416" class="def">err416</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err416" class="link">Source</a> <a href="#v:err416" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err416">err416</a></code> Request range not satisfiable</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err416 { errBody = &quot;Valid range is [0, 424242].&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err417" class="def">err417</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err417" class="link">Source</a> <a href="#v:err417" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err417">err417</a></code> Expectation Failed</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err417 { errBody = &quot;I found a quux in the request.  This isn't going to work.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err418" class="def">err418</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err418" class="link">Source</a> <a href="#v:err418" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err418">err418</a></code> Expectation Failed</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err418 { errBody = &quot;Apologies, this is not a webserver but a teapot.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err422" class="def">err422</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err422" class="link">Source</a> <a href="#v:err422" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err422">err422</a></code> Unprocessable Entity</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err422 { errBody = &quot;I understood your request, but can't process it.&quot; }</pre></div></div><h2 id="g:16">5XX</h2><div class="top"><p class="src"><a id="v:err500" class="def">err500</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err500" class="link">Source</a> <a href="#v:err500" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err500">err500</a></code> Internal Server Error</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err500 { errBody = &quot;Exception in module A.B.C:55.  Have a great day!&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err501" class="def">err501</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err501" class="link">Source</a> <a href="#v:err501" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err501">err501</a></code> Not Implemented</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err501 { errBody = &quot;/v1/foo is not supported with quux in the request.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err502" class="def">err502</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err502" class="link">Source</a> <a href="#v:err502" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err502">err502</a></code> Bad Gateway</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err502 { errBody = &quot;Tried gateway foo, bar, and baz.  None responded.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err503" class="def">err503</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err503" class="link">Source</a> <a href="#v:err503" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err503">err503</a></code> Service Unavailable</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err503 { errBody = &quot;We're rewriting in PHP.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err504" class="def">err504</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err504" class="link">Source</a> <a href="#v:err504" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err504">err504</a></code> Gateway Time-out</p><p>Example:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err504 { errBody = &quot;Backend foobar did not respond in 5 seconds.&quot; }</pre></div></div><div class="top"><p class="src"><a id="v:err505" class="def">err505</a> :: <a href="Servant-Server.html#t:ServantErr">ServantErr</a> <a href="src/Servant-Server-Internal-ServantErr.html#err505" class="link">Source</a> <a href="#v:err505" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server.html#v:err505">err505</a></code> HTTP Version not supported</p><p>Example usage:</p><pre>failingHandler :: Handler ()
failingHandler = throwError $ err505 { errBody = &quot;I support HTTP/4.0 only.&quot; }</pre></div></div><h1 id="g:17">Re-exports</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Application" class="def">Application</a> = <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:Request">Request</a> -&gt; (<a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:Response">Response</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:ResponseReceived">ResponseReceived</a>) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/share/doc/libghc-wai-doc/html/Network-Wai.html#t:ResponseReceived">ResponseReceived</a> <a href="#t:Application" class="selflink">#</a></p><div class="doc"><p>The WAI application.</p><p>Note that, since WAI 3.0, this type is structured in continuation passing
 style to allow for proper safe resource handling. This was handled in the
 past via other means (e.g., <code>ResourceT</code>). As a demonstration:</p><pre>app :: Application
app req respond = bracket_
    (putStrLn &quot;Allocating scarce resource&quot;)
    (putStrLn &quot;Cleaning up&quot;)
    (respond $ responseLBS status200 [] &quot;Hello World&quot;)
</pre></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Tagged" class="def">Tagged</a> k s b :: <span class="keyword">forall</span> k. k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Tagged" class="selflink">#</a></p><div class="doc"><p>A <code><code><a href="Servant-Server.html#t:Tagged">Tagged</a></code> s b</code> value is a value <code>b</code> with an attached phantom type <code>s</code>.
 This can be used in place of the more traditional but less safe idiom of
 passing in an undefined value with the type, because unlike an <code>(s -&gt; b)</code>,
 a <code><code><a href="Servant-Server.html#t:Tagged">Tagged</a></code> s b</code> can't try to use the argument <code>s</code> as a real value.</p><p>Moreover, you don't have to rely on the compiler to inline away the extra
 argument, because the newtype is &quot;free&quot;</p><p><code><a href="Servant-Server.html#t:Tagged">Tagged</a></code> has kind <code>k -&gt; * -&gt; *</code> if the compiler supports <code>PolyKinds</code>, therefore
 there is an extra <code>k</code> showing in the instance haddocks that may cause confusion.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Tagged" class="def">Tagged</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unTagged" class="def">unTagged</a> :: b</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Tagged" class="caption collapser" onclick="toggleSection('i:Tagged')">Instances</p><div id="section.i:Tagged" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Eq2:1" class="instance expander" onclick="toggleSection('i:id:Tagged:Eq2:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Classes.html#t:Eq2">Eq2</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Eq2:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftEq2">liftEq2</a> :: (a -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; (c -&gt; d -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a c -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b d -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:liftEq2" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Ord2:2" class="instance expander" onclick="toggleSection('i:id:Tagged:Ord2:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Classes.html#t:Ord2">Ord2</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Ord2:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftCompare2">liftCompare2</a> :: (a -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; (c -&gt; d -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a c -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b d -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:liftCompare2" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Read2:3" class="instance expander" onclick="toggleSection('i:id:Tagged:Read2:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Classes.html#t:Read2">Read2</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Read2:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftReadsPrec2">liftReadsPrec2</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [a] -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> b) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [b] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a b) <a href="#v:liftReadsPrec2" class="selflink">#</a></p><p class="src"><a href="#v:liftReadList2">liftReadList2</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [a] -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> b) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [b] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a b] <a href="#v:liftReadList2" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Show2:4" class="instance expander" onclick="toggleSection('i:id:Tagged:Show2:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Classes.html#t:Show2">Show2</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Show2:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftShowsPrec2">liftShowsPrec2</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; ([a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; ([b] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:liftShowsPrec2" class="selflink">#</a></p><p class="src"><a href="#v:liftShowList2">liftShowList2</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; ([a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; ([b] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; [<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a b] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:liftShowList2" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Bifunctor:5" class="instance expander" onclick="toggleSection('i:id:Tagged:Bifunctor:5')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Bifunctor:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:bimap">bimap</a> :: (a -&gt; b) -&gt; (c -&gt; d) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a c -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b d <a href="#v:bimap" class="selflink">#</a></p><p class="src"><a href="#v:first">first</a> :: (a -&gt; b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a c -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b c <a href="#v:first" class="selflink">#</a></p><p class="src"><a href="#v:second">second</a> :: (b -&gt; c) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a c <a href="#v:second" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Monad:6" class="instance expander" onclick="toggleSection('i:id:Tagged:Monad:6')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Monad:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(&gt;&gt;=)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; (a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(&gt;&gt;)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Functor:7" class="instance expander" onclick="toggleSection('i:id:Tagged:Functor:7')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Functor:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Applicative:8" class="instance expander" onclick="toggleSection('i:id:Tagged:Applicative:8')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Applicative:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s (a -&gt; b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Foldable:9" class="instance expander" onclick="toggleSection('i:id:Tagged:Foldable:9')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Foldable:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> m =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s m -&gt; m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> m =&gt; (a -&gt; m) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -&gt; a -&gt; a) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -&gt; a -&gt; a) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Traversable:10" class="instance expander" onclick="toggleSection('i:id:Tagged:Traversable:10')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Traversable.html#t:Traversable">Traversable</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Traversable:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; (a -&gt; f b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; f (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s (f a) -&gt; f (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; m (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s (m a) -&gt; m (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:sequence" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Generic1:11" class="instance expander" onclick="toggleSection('i:id:Tagged:Generic1:11')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Generic1">Generic1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Generic1:11" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep1">Rep1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep1" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from1">from1</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep1">Rep1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s) a <a href="#v:from1" class="selflink">#</a></p><p class="src"><a href="#v:to1">to1</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep1">Rep1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s) a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:to1" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Eq1:12" class="instance expander" onclick="toggleSection('i:id:Tagged:Eq1:12')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Classes.html#t:Eq1">Eq1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Eq1:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftEq">liftEq</a> :: (a -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:liftEq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Ord1:13" class="instance expander" onclick="toggleSection('i:id:Tagged:Ord1:13')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Classes.html#t:Ord1">Ord1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Ord1:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftCompare">liftCompare</a> :: (a -&gt; b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:liftCompare" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Read1:14" class="instance expander" onclick="toggleSection('i:id:Tagged:Read1:14')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Classes.html#t:Read1">Read1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Read1:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftReadsPrec">liftReadsPrec</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:liftReadsPrec" class="selflink">#</a></p><p class="src"><a href="#v:liftReadList">liftReadList</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a] <a href="#v:liftReadList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Show1:15" class="instance expander" onclick="toggleSection('i:id:Tagged:Show1:15')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Classes.html#t:Show1">Show1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Show1:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftShowsPrec">liftShowsPrec</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; ([a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:liftShowsPrec" class="selflink">#</a></p><p class="src"><a href="#v:liftShowList">liftShowList</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; ([a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a>) -&gt; [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:liftShowList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Bounded:16" class="instance expander" onclick="toggleSection('i:id:Tagged:Bounded:16')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Bounded">Bounded</a> b =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Bounded">Bounded</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Bounded:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Enum:17" class="instance expander" onclick="toggleSection('i:id:Tagged:Enum:17')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Enum">Enum</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Enum">Enum</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Enum:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Eq:18" class="instance expander" onclick="toggleSection('i:id:Tagged:Eq:18')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> b =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Eq:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Floating:19" class="instance expander" onclick="toggleSection('i:id:Tagged:Floating:19')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Numeric.html#t:Floating">Floating</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Numeric.html#t:Floating">Floating</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Floating:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pi">pi</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:pi" class="selflink">#</a></p><p class="src"><a href="#v:exp">exp</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:exp" class="selflink">#</a></p><p class="src"><a href="#v:log">log</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:log" class="selflink">#</a></p><p class="src"><a href="#v:sqrt">sqrt</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:sqrt" class="selflink">#</a></p><p class="src"><a href="#v:-42--42-">(**)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:-42--42-" class="selflink">#</a></p><p class="src"><a href="#v:logBase">logBase</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:logBase" class="selflink">#</a></p><p class="src"><a href="#v:sin">sin</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:sin" class="selflink">#</a></p><p class="src"><a href="#v:cos">cos</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:cos" class="selflink">#</a></p><p class="src"><a href="#v:tan">tan</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:tan" class="selflink">#</a></p><p class="src"><a href="#v:asin">asin</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:asin" class="selflink">#</a></p><p class="src"><a href="#v:acos">acos</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:acos" class="selflink">#</a></p><p class="src"><a href="#v:atan">atan</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:atan" class="selflink">#</a></p><p class="src"><a href="#v:sinh">sinh</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:sinh" class="selflink">#</a></p><p class="src"><a href="#v:cosh">cosh</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:cosh" class="selflink">#</a></p><p class="src"><a href="#v:tanh">tanh</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:tanh" class="selflink">#</a></p><p class="src"><a href="#v:asinh">asinh</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:asinh" class="selflink">#</a></p><p class="src"><a href="#v:acosh">acosh</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:acosh" class="selflink">#</a></p><p class="src"><a href="#v:atanh">atanh</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:atanh" class="selflink">#</a></p><p class="src"><a href="#v:log1p">log1p</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:log1p" class="selflink">#</a></p><p class="src"><a href="#v:expm1">expm1</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:expm1" class="selflink">#</a></p><p class="src"><a href="#v:log1pexp">log1pexp</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:log1pexp" class="selflink">#</a></p><p class="src"><a href="#v:log1mexp">log1mexp</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:log1mexp" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Fractional:20" class="instance expander" onclick="toggleSection('i:id:Tagged:Fractional:20')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Fractional">Fractional</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Fractional">Fractional</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Fractional:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-47-">(/)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:-47-" class="selflink">#</a></p><p class="src"><a href="#v:recip">recip</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:recip" class="selflink">#</a></p><p class="src"><a href="#v:fromRational">fromRational</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Rational">Rational</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:fromRational" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Integral:21" class="instance expander" onclick="toggleSection('i:id:Tagged:Integral:21')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Integral:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:quot">quot</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:quot" class="selflink">#</a></p><p class="src"><a href="#v:rem">rem</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:rem" class="selflink">#</a></p><p class="src"><a href="#v:div">div</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:div" class="selflink">#</a></p><p class="src"><a href="#v:mod">mod</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:mod" class="selflink">#</a></p><p class="src"><a href="#v:quotRem">quotRem</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:quotRem" class="selflink">#</a></p><p class="src"><a href="#v:divMod">divMod</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:divMod" class="selflink">#</a></p><p class="src"><a href="#v:toInteger">toInteger</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integer">Integer</a> <a href="#v:toInteger" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Data:22" class="instance expander" onclick="toggleSection('i:id:Tagged:Data:22')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> s, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> b) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Data:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d a. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; c (d -&gt; a) -&gt; d -&gt; c a) -&gt; (<span class="keyword">forall</span> g. g -&gt; c g) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; c (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b) <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> a r. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> a =&gt; c (a -&gt; r) -&gt; c r) -&gt; (<span class="keyword">forall</span> r. r -&gt; c r) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Constr">Constr</a> -&gt; c (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b) <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) t =&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; c (t d)) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b)) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) t =&gt; (<span class="keyword">forall</span> d e. (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> e) =&gt; c (t d e)) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b)) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> a. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> a =&gt; a -&gt; a) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -&gt; r' -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -&gt; r -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; m (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b) <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; m (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b) <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Data.html#t:Data">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b -&gt; m (<a href="Servant-Server.html#t:Tagged">Tagged</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> s b) <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Num:23" class="instance expander" onclick="toggleSection('i:id:Tagged:Num:23')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Num:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-43-">(+)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:-43-" class="selflink">#</a></p><p class="src"><a href="#v:-45-">(-)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:-45-" class="selflink">#</a></p><p class="src"><a href="#v:-42-">(*)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:-42-" class="selflink">#</a></p><p class="src"><a href="#v:negate">negate</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:negate" class="selflink">#</a></p><p class="src"><a href="#v:abs">abs</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:abs" class="selflink">#</a></p><p class="src"><a href="#v:signum">signum</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:signum" class="selflink">#</a></p><p class="src"><a href="#v:fromInteger">fromInteger</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:fromInteger" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Ord:24" class="instance expander" onclick="toggleSection('i:id:Tagged:Ord:24')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> b =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Ord:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Read:25" class="instance expander" onclick="toggleSection('i:id:Tagged:Read:25')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Read.html#t:Read">Read</a> b =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Read.html#t:Read">Read</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Read:25" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Real:26" class="instance expander" onclick="toggleSection('i:id:Tagged:Real:26')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Real">Real</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Real">Real</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Real:26" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toRational">toRational</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Rational">Rational</a> <a href="#v:toRational" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:RealFloat:27" class="instance expander" onclick="toggleSection('i:id:Tagged:RealFloat:27')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:RealFloat">RealFloat</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:RealFloat">RealFloat</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:RealFloat:27" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:floatRadix">floatRadix</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integer">Integer</a> <a href="#v:floatRadix" class="selflink">#</a></p><p class="src"><a href="#v:floatDigits">floatDigits</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:floatDigits" class="selflink">#</a></p><p class="src"><a href="#v:floatRange">floatRange</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) <a href="#v:floatRange" class="selflink">#</a></p><p class="src"><a href="#v:decodeFloat">decodeFloat</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integer">Integer</a>, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) <a href="#v:decodeFloat" class="selflink">#</a></p><p class="src"><a href="#v:encodeFloat">encodeFloat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:encodeFloat" class="selflink">#</a></p><p class="src"><a href="#v:exponent">exponent</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:exponent" class="selflink">#</a></p><p class="src"><a href="#v:significand">significand</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:significand" class="selflink">#</a></p><p class="src"><a href="#v:scaleFloat">scaleFloat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:scaleFloat" class="selflink">#</a></p><p class="src"><a href="#v:isNaN">isNaN</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isNaN" class="selflink">#</a></p><p class="src"><a href="#v:isInfinite">isInfinite</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isInfinite" class="selflink">#</a></p><p class="src"><a href="#v:isDenormalized">isDenormalized</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isDenormalized" class="selflink">#</a></p><p class="src"><a href="#v:isNegativeZero">isNegativeZero</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isNegativeZero" class="selflink">#</a></p><p class="src"><a href="#v:isIEEE">isIEEE</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isIEEE" class="selflink">#</a></p><p class="src"><a href="#v:atan2">atan2</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:atan2" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:RealFrac:28" class="instance expander" onclick="toggleSection('i:id:Tagged:RealFrac:28')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:RealFrac">RealFrac</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:RealFrac">RealFrac</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:RealFrac:28" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:properFraction">properFraction</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; (b, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:properFraction" class="selflink">#</a></p><p class="src"><a href="#v:truncate">truncate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; b <a href="#v:truncate" class="selflink">#</a></p><p class="src"><a href="#v:round">round</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; b <a href="#v:round" class="selflink">#</a></p><p class="src"><a href="#v:ceiling">ceiling</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; b <a href="#v:ceiling" class="selflink">#</a></p><p class="src"><a href="#v:floor">floor</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; b <a href="#v:floor" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Show:29" class="instance expander" onclick="toggleSection('i:id:Tagged:Show:29')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> b =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Show:29" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Ix:30" class="instance expander" onclick="toggleSection('i:id:Tagged:Ix:30')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ix.html#t:Ix">Ix</a> b =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ix.html#t:Ix">Ix</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Ix:30" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:range">range</a> :: (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) -&gt; [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b] <a href="#v:range" class="selflink">#</a></p><p class="src"><a href="#v:index">index</a> :: (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:index" class="selflink">#</a></p><p class="src"><a href="#v:unsafeIndex">unsafeIndex</a> :: (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></p><p class="src"><a href="#v:inRange">inRange</a> :: (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:inRange" class="selflink">#</a></p><p class="src"><a href="#v:rangeSize">rangeSize</a> :: (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:rangeSize" class="selflink">#</a></p><p class="src"><a href="#v:unsafeRangeSize">unsafeRangeSize</a> :: (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b, <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:IsString:31" class="instance expander" onclick="toggleSection('i:id:Tagged:IsString:31')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:IsString">IsString</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:IsString">IsString</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:IsString:31" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Generic:32" class="instance expander" onclick="toggleSection('i:id:Tagged:Generic:32')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Generic">Generic</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Generic:32" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) x -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Semigroup:33" class="instance expander" onclick="toggleSection('i:id:Tagged:Semigroup:33')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Semigroup:33" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; b -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Monoid:34" class="instance expander" onclick="toggleSection('i:id:Tagged:Monoid:34')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> a) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Monoid:34" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a] -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Storable:35" class="instance expander" onclick="toggleSection('i:id:Tagged:Storable:35')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-Storable.html#t:Storable">Storable</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-Storable.html#t:Storable">Storable</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Storable:35" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:sizeOf">sizeOf</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:sizeOf" class="selflink">#</a></p><p class="src"><a href="#v:alignment">alignment</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:alignment" class="selflink">#</a></p><p class="src"><a href="#v:peekElemOff">peekElemOff</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:peekElemOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeElemOff">pokeElemOff</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> () <a href="#v:pokeElemOff" class="selflink">#</a></p><p class="src"><a href="#v:peekByteOff">peekByteOff</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:peekByteOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeByteOff">pokeByteOff</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> () <a href="#v:pokeByteOff" class="selflink">#</a></p><p class="src"><a href="#v:peek">peek</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) <a href="#v:peek" class="selflink">#</a></p><p class="src"><a href="#v:poke">poke</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a) -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> () <a href="#v:poke" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Bits:36" class="instance expander" onclick="toggleSection('i:id:Tagged:Bits:36')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bits.html#t:Bits">Bits</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bits.html#t:Bits">Bits</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Bits:36" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:.-38-.">(.&amp;.)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:.-38-." class="selflink">#</a></p><p class="src"><a href="#v:.-124-.">(.|.)</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:.-124-." class="selflink">#</a></p><p class="src"><a href="#v:xor">xor</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:xor" class="selflink">#</a></p><p class="src"><a href="#v:complement">complement</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:complement" class="selflink">#</a></p><p class="src"><a href="#v:shift">shift</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:shift" class="selflink">#</a></p><p class="src"><a href="#v:rotate">rotate</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:rotate" class="selflink">#</a></p><p class="src"><a href="#v:zeroBits">zeroBits</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:zeroBits" class="selflink">#</a></p><p class="src"><a href="#v:bit">bit</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:bit" class="selflink">#</a></p><p class="src"><a href="#v:setBit">setBit</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:setBit" class="selflink">#</a></p><p class="src"><a href="#v:clearBit">clearBit</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:clearBit" class="selflink">#</a></p><p class="src"><a href="#v:complementBit">complementBit</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:complementBit" class="selflink">#</a></p><p class="src"><a href="#v:testBit">testBit</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:testBit" class="selflink">#</a></p><p class="src"><a href="#v:bitSizeMaybe">bitSizeMaybe</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:bitSizeMaybe" class="selflink">#</a></p><p class="src"><a href="#v:bitSize">bitSize</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:bitSize" class="selflink">#</a></p><p class="src"><a href="#v:isSigned">isSigned</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isSigned" class="selflink">#</a></p><p class="src"><a href="#v:shiftL">shiftL</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:shiftL" class="selflink">#</a></p><p class="src"><a href="#v:unsafeShiftL">unsafeShiftL</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:unsafeShiftL" class="selflink">#</a></p><p class="src"><a href="#v:shiftR">shiftR</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:shiftR" class="selflink">#</a></p><p class="src"><a href="#v:unsafeShiftR">unsafeShiftR</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:unsafeShiftR" class="selflink">#</a></p><p class="src"><a href="#v:rotateL">rotateL</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:rotateL" class="selflink">#</a></p><p class="src"><a href="#v:rotateR">rotateR</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a <a href="#v:rotateR" class="selflink">#</a></p><p class="src"><a href="#v:popCount">popCount</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:popCount" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:FiniteBits:37" class="instance expander" onclick="toggleSection('i:id:Tagged:FiniteBits:37')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bits.html#t:FiniteBits">FiniteBits</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bits.html#t:FiniteBits">FiniteBits</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:FiniteBits:37" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:finiteBitSize">finiteBitSize</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:finiteBitSize" class="selflink">#</a></p><p class="src"><a href="#v:countLeadingZeros">countLeadingZeros</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:countLeadingZeros" class="selflink">#</a></p><p class="src"><a href="#v:countTrailingZeros">countTrailingZeros</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:countTrailingZeros" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:NFData:38" class="instance expander" onclick="toggleSection('i:id:Tagged:NFData:38')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/deepseq-1.4.2.0/Control-DeepSeq.html#t:NFData">NFData</a> b =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/deepseq-1.4.2.0/Control-DeepSeq.html#t:NFData">NFData</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:NFData:38" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Servant-Server.html#t:Tagged">Tagged</a> k s b -&gt; () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Enter:39" class="instance expander" onclick="toggleSection('i:id:Tagged:Enter:39')"></span> ((~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-Utils-Enter.html#t:Entered">Entered</a> m n (<a href="Servant-Server.html#t:Tagged">Tagged</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) m a)) (<a href="Servant-Server.html#t:Tagged">Tagged</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) n a), (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-Utils-Enter.html#t:Entered">Entered</a> n m (<a href="Servant-Server.html#t:Tagged">Tagged</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) n a)) (<a href="Servant-Server.html#t:Tagged">Tagged</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) m a)) =&gt; <a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-Utils-Enter.html#t:Enter">Enter</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) m a) m n (<a href="Servant-Server.html#t:Tagged">Tagged</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) n a)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Enter:39" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:enter">enter</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="Servant-Server.html#t::-126--62-">:~&gt;</a> m) n -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) m a -&gt; <a href="Servant-Server.html#t:Tagged">Tagged</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) n a <a href="#v:enter" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Rep1:40" class="instance expander" onclick="toggleSection('i:id:Tagged:Rep1:40')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep1">Rep1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Rep1:40" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep1">Rep1</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s) = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:D1">D1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaData">MetaData</a> &quot;Tagged&quot; &quot;Data.Tagged&quot; &quot;tagged-0.8.5-1gLLDW7b5mx8q35LxgIjIa&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:C1">C1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> &quot;Tagged&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:S1">S1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> &quot;unTagged&quot;) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Par1">Par1</a>))</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Tagged:Rep:41" class="instance expander" onclick="toggleSection('i:id:Tagged:Rep:41')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b)</span></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Tagged:Rep:41" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Servant-Server.html#t:Tagged">Tagged</a> k s b) = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:D1">D1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaData">MetaData</a> &quot;Tagged&quot; &quot;Data.Tagged&quot; &quot;tagged-0.8.5-1gLLDW7b5mx8q35LxgIjIa&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:C1">C1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> &quot;Tagged&quot; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:S1">S1</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> &quot;unTagged&quot;) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Generics.html#t:Rec0">Rec0</a> b)))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>