Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 13 additions & 24 deletions fsharp/suave/Program.fs
Original file line number Diff line number Diff line change
@@ -1,33 +1,22 @@
open Suave
open Suave.Filters
open Suave.Logging
open Suave.Operators
open System.Net
open Suave.Router

let app: WebPart =
choose
[ GET >=> choose
[ path "/" >=> Successful.OK ""
pathScan "/user/%s" (fun s -> Successful.OK s) ]
POST >=> path "/user" >=> Successful.OK "" ]
let getUser (ctx: HttpContext) =
match routeParam "id" ctx with
| Some idStr ->
Successful.OK idStr ctx
| None ->
RequestErrors.BAD_REQUEST "Missing user ID" ctx

type NoopLogger() =
interface Logger with
member this.name : string[] = [|"null-logger"|]
member this.logWithAck (logLevel : LogLevel) (logLevelWithMessage : (LogLevel -> Message)): Async<unit> =
async {
()
}
member this.log (loglevel : LogLevel) (logLevelWithMessage : (LogLevel -> Message)): unit =
()
let app : WebPart = router {
get "/" (Successful.OK "")
get "/user/:id" getUser
post "/user" (Successful.OK "")
}

let config =
{ defaultConfig with
bindings =
[ { scheme = HTTP
socketBinding =
{ ip = IPAddress.Parse "0.0.0.0"
port = 3000us } } ];
logger = NoopLogger()}
[ HttpBinding.createSimple HTTP "127.0.0.1" 3000 ];}

startWebServer config app
2 changes: 1 addition & 1 deletion fsharp/suave/config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
framework:
website: suave.io
version: 2.6
version: 3.2
3 changes: 1 addition & 2 deletions fsharp/suave/web.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Update="FSharp.Core" Version="7.0.*" />
<PackageReference Include="Suave" Version="2.6.*" />
<PackageReference Include="Suave" Version="3.2.*" />
</ItemGroup>

</Project>
Loading