Last active
August 20, 2021 13:46
-
-
Save Slesa/a722acd25168985313bb8e56de23d712 to your computer and use it in GitHub Desktop.
Return F# list as web result
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type KeyValues = Map<string,string> | |
type DataList = { | |
Articles: KeyValues list option | |
} | |
let dataList : DataList = { | |
Articles = Option.None | |
} | |
let deliverList (list: KeyValues list option) (listName: string) = | |
let values = match list with | |
| None -> ReadDataFile listName | |
| Some data -> data | |
let answer = JsonSerializer.Serialize values | |
answer |> text | |
let deliverData listName = | |
match listName with | |
| "articles" -> | |
deliverList dataList.Articles "articles" | |
| _ -> setStatusCode 404 >=> text $"{listName} not Found" ] | |
let webApp = | |
choose [ | |
GET >=> | |
choose [ | |
routef "/data/%s" deliverData | |
] | |
setStatusCode 404 >=> text "Not Found" ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment