Skip to content
This repository was archived by the owner on Mar 24, 2026. It is now read-only.

Commit a5f62b7

Browse files
authored
[fsharp] Create new Fortune object in scope of request (#10654)
The new fortune object must be constructed in the scope of the request, not as a constant: > Within the scope of the request, a new Fortune object must be constructed and added to the list. https://github.com/TechEmpower/FrameworkBenchmarks/wiki/Project-Information-Framework-Tests-Overview#fortunes
1 parent 9b548aa commit a5f62b7

5 files changed

Lines changed: 6 additions & 22 deletions

File tree

frameworks/FSharp/falco/src/App/Program.fs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,13 @@ type Fortune =
2222
{ id : int
2323
message : string }
2424

25-
static member Default =
26-
{ id = 0
27-
message = "Additional fortune added at request time." }
28-
2925
let handleFortunes (connStr : string) : HttpHandler = fun ctx -> task {
3026

3127
use conn = new NpgsqlConnection(connStr)
3228
let! data = conn.QueryAsync<Fortune>("SELECT id, message FROM fortune")
3329
let fortunes = data.AsList()
34-
fortunes.Add(Fortune.Default)
30+
fortunes.Add({ id = 0
31+
message = "Additional fortune added at request time." })
3532

3633
let sortedFortunes =
3734
fortunes

frameworks/FSharp/frank/src/App/Program.fs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ let text' (msg:string): HttpContext -> Task =
3737
ctx.Response.Body.WriteAsync(bytes, 0, bytes.Length)
3838

3939
// Pulled from Giraffe example
40-
let extra = { id = 0; message = "Additional fortune added at request time." }
4140
let fortunes' : HttpHandler =
4241
fun _ ctx ->
4342
task {
@@ -46,7 +45,7 @@ let fortunes' : HttpHandler =
4645

4746
let view =
4847
let xs = data.AsList()
49-
xs.Add extra
48+
xs.Add { id = 0; message = "Additional fortune added at request time." }
5049
xs.Sort FortuneComparer
5150
HtmlViews.fortunes xs
5251

frameworks/FSharp/giraffe/src/App/Program.fs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,6 @@ module HttpHandlers =
117117
open Dapper
118118
open Npgsql
119119

120-
let private extra = {
121-
id = 0
122-
message = "Additional fortune added at request time."
123-
}
124-
125120
let fortunes: HttpHandler =
126121
fun _ ctx ->
127122
task {
@@ -133,7 +128,7 @@ module HttpHandlers =
133128

134129
let view =
135130
let xs = data.AsList ()
136-
xs.Add extra
131+
xs.Add { id = 0; message = "Additional fortune added at request time." }
137132
xs.Sort FortuneComparer
138133
HtmlViews.fortunes xs
139134

frameworks/FSharp/oxpecker/src/App/Program.fs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,6 @@ module HttpHandlers =
1010
open SpanJson
1111
open Oxpecker.ViewEngine
1212

13-
let private extra =
14-
{
15-
id = 0
16-
message = "Additional fortune added at request time."
17-
}
18-
1913
let private fortunesHeadAndTail =
2014
(fun (content: HtmlElement) ->
2115
html() {
@@ -35,7 +29,7 @@ module HttpHandlers =
3529
) |> RenderHelpers.prerender
3630

3731
let rec private renderFortunes (ctx: HttpContext) (data: ResizeArray<Fortune>) =
38-
data.Add extra
32+
data.Add { id = 0; message = "Additional fortune added at request time." }
3933
data.Sort FortuneComparer
4034
RenderHelpers.CombinedElement(fortunesHeadAndTail, data)
4135
|> ctx.WriteHtmlViewChunked

frameworks/FSharp/zebra/src/App/Program.fs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ module View =
7373
]
7474
] |> compileDoc
7575

76-
let extra = { id = 0; message = "Additional fortune added at request time." }
7776
let FortuneComparer = { new IComparer<Fortune> with
7877
member self.Compare(a,b) = String.CompareOrdinal(a.message, b.message)
7978
}
@@ -98,7 +97,7 @@ let main args =
9897

9998
let fortunes =
10099
let xs = data.AsList()
101-
xs.Add View.extra
100+
xs.Add { id = 0; message = "Additional fortune added at request time." }
102101
xs.Sort View.FortuneComparer
103102
xs
104103

0 commit comments

Comments
 (0)