diff --git a/frameworks/FSharp/giraffe/README.md b/frameworks/FSharp/giraffe/README.md index dfb4a5fc5e6..aaced20e92c 100644 --- a/frameworks/FSharp/giraffe/README.md +++ b/frameworks/FSharp/giraffe/README.md @@ -5,7 +5,7 @@ This includes tests for plaintext and json serialization. **Language** -* F# 4.1 +* F# 4.6 **Platforms** diff --git a/frameworks/FSharp/giraffe/giraffe-stripped.dockerfile b/frameworks/FSharp/giraffe/giraffe-stripped.dockerfile index 09d0926bfd4..73acf6c5b0a 100644 --- a/frameworks/FSharp/giraffe/giraffe-stripped.dockerfile +++ b/frameworks/FSharp/giraffe/giraffe-stripped.dockerfile @@ -1,11 +1,10 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build +FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build WORKDIR /app COPY src/App . RUN dotnet publish -c Release -o out -FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime +FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS runtime ENV ASPNETCORE_URLS http://+:8080 -ENV COMPlus_ReadyToRun 0 WORKDIR /app COPY --from=build /app/out ./ diff --git a/frameworks/FSharp/giraffe/giraffe-utf8direct.dockerfile b/frameworks/FSharp/giraffe/giraffe-utf8direct.dockerfile index 09d0926bfd4..73acf6c5b0a 100644 --- a/frameworks/FSharp/giraffe/giraffe-utf8direct.dockerfile +++ b/frameworks/FSharp/giraffe/giraffe-utf8direct.dockerfile @@ -1,11 +1,10 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build +FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build WORKDIR /app COPY src/App . RUN dotnet publish -c Release -o out -FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime +FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS runtime ENV ASPNETCORE_URLS http://+:8080 -ENV COMPlus_ReadyToRun 0 WORKDIR /app COPY --from=build /app/out ./ diff --git a/frameworks/FSharp/giraffe/giraffe-utf8json.dockerfile b/frameworks/FSharp/giraffe/giraffe-utf8json.dockerfile index 09d0926bfd4..73acf6c5b0a 100644 --- a/frameworks/FSharp/giraffe/giraffe-utf8json.dockerfile +++ b/frameworks/FSharp/giraffe/giraffe-utf8json.dockerfile @@ -1,11 +1,10 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build +FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build WORKDIR /app COPY src/App . RUN dotnet publish -c Release -o out -FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime +FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS runtime ENV ASPNETCORE_URLS http://+:8080 -ENV COMPlus_ReadyToRun 0 WORKDIR /app COPY --from=build /app/out ./ diff --git a/frameworks/FSharp/giraffe/giraffe.dockerfile b/frameworks/FSharp/giraffe/giraffe.dockerfile index 322b23b984c..17271bda28f 100644 --- a/frameworks/FSharp/giraffe/giraffe.dockerfile +++ b/frameworks/FSharp/giraffe/giraffe.dockerfile @@ -1,11 +1,10 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build +FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build WORKDIR /app COPY src/App . RUN dotnet publish -c Release -o out -FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime +FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS runtime ENV ASPNETCORE_URLS http://+:8080 -ENV COMPlus_ReadyToRun 0 WORKDIR /app COPY --from=build /app/out ./ diff --git a/frameworks/FSharp/giraffe/src/App/App.fsproj b/frameworks/FSharp/giraffe/src/App/App.fsproj index e034ca4e748..87d64e52820 100644 --- a/frameworks/FSharp/giraffe/src/App/App.fsproj +++ b/frameworks/FSharp/giraffe/src/App/App.fsproj @@ -1,7 +1,8 @@ - netcoreapp2.2 + netcoreapp3.0 + preview portable App Exe @@ -9,13 +10,10 @@ - - - - - - - + + + + @@ -27,8 +25,4 @@ - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/frameworks/FSharp/giraffe/src/App/Custom.fs b/frameworks/FSharp/giraffe/src/App/Custom.fs index 1e6a4a0f9e3..0366dd94052 100644 --- a/frameworks/FSharp/giraffe/src/App/Custom.fs +++ b/frameworks/FSharp/giraffe/src/App/Custom.fs @@ -11,6 +11,7 @@ open System.IO let private DefaultCapacity = 1386 let private MaxBuilderSize = DefaultCapacity * 3 +let private BufferSize = 27 type MemoryStreamCache = @@ -43,13 +44,12 @@ let application : HttpHandler = let inline contentLength x = new Nullable ( int64 x ) let json' data : HttpHandler = - let bytes = Utf8Json.JsonSerializer.Serialize(data) fun _ ctx -> - ctx.Response.ContentLength <- contentLength bytes.Length + ctx.Response.ContentLength <- contentLength BufferSize ctx.Response.ContentType <- "application/json" ctx.Response.StatusCode <- 200 task { - do! ctx.Response.Body.WriteAsync(bytes, 0, bytes.Length) + do! System.Text.Json.JsonSerializer.SerializeAsync(ctx.Response.Body, data) return Some ctx } @@ -108,7 +108,7 @@ let application : HttpHandler = routes' [ "/plaintext", text' "Hello, World!" - "/json", json' { JsonStructMessage.message = "Hello, World!" } + "/json", json' struct {| message = "Hello, World!" |} "/fortunes", fortunes' ] diff --git a/frameworks/FSharp/giraffe/src/App/Models.fs b/frameworks/FSharp/giraffe/src/App/Models.fs index 69b5e58640b..f67b6e77db6 100644 --- a/frameworks/FSharp/giraffe/src/App/Models.fs +++ b/frameworks/FSharp/giraffe/src/App/Models.fs @@ -3,11 +3,6 @@ open System.Collections.Generic open System -type JsonMessage = { message : string } - -[] -type JsonStructMessage = { message : string } - [] type Fortune = { id: int; message: string } diff --git a/frameworks/FSharp/giraffe/src/App/Stock.fs b/frameworks/FSharp/giraffe/src/App/Stock.fs index e8b7cf8e701..39876908f88 100644 --- a/frameworks/FSharp/giraffe/src/App/Stock.fs +++ b/frameworks/FSharp/giraffe/src/App/Stock.fs @@ -34,6 +34,6 @@ let application : HttpHandler = choose [ route "/plaintext" >=> text "Hello, World!" - route "/json" >=> json { JsonMessage.message = "Hello, World!" } + route "/json" >=> json {| message = "Hello, World!" |} route "/fortunes" >=> fortunes ] diff --git a/frameworks/FSharp/zebra/README.md b/frameworks/FSharp/zebra/README.md index 7f3249e8fd0..27b9a1ab6c7 100644 --- a/frameworks/FSharp/zebra/README.md +++ b/frameworks/FSharp/zebra/README.md @@ -7,7 +7,7 @@ Zebra is a new F# functional Asp.net Framework Wrapper that utalises a shared st **Language** -* F# 4.1 +* F# 4.6 **Platforms** diff --git a/frameworks/FSharp/zebra/src/App/App.fsproj b/frameworks/FSharp/zebra/src/App/App.fsproj index 6f20f4f4487..894bc209f04 100644 --- a/frameworks/FSharp/zebra/src/App/App.fsproj +++ b/frameworks/FSharp/zebra/src/App/App.fsproj @@ -1,7 +1,8 @@  - netcoreapp2.1 + netcoreapp3.0 + preview portable App Exe @@ -9,13 +10,10 @@ - - - - - - + + + @@ -32,8 +30,4 @@ - - - - \ No newline at end of file diff --git a/frameworks/FSharp/zebra/zebra-simple.dockerfile b/frameworks/FSharp/zebra/zebra-simple.dockerfile index 1786c0cd394..1a3ca04fa0b 100644 --- a/frameworks/FSharp/zebra/zebra-simple.dockerfile +++ b/frameworks/FSharp/zebra/zebra-simple.dockerfile @@ -1,11 +1,10 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build +FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build WORKDIR /app COPY src/App . RUN dotnet publish -c Release -o out -FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime +FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS runtime ENV ASPNETCORE_URLS http://+:8080 -ENV COMPlus_ReadyToRun 0 WORKDIR /app COPY --from=build /app/out ./ diff --git a/frameworks/FSharp/zebra/zebra.dockerfile b/frameworks/FSharp/zebra/zebra.dockerfile index 09d0926bfd4..73acf6c5b0a 100644 --- a/frameworks/FSharp/zebra/zebra.dockerfile +++ b/frameworks/FSharp/zebra/zebra.dockerfile @@ -1,11 +1,10 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build +FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build WORKDIR /app COPY src/App . RUN dotnet publish -c Release -o out -FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime +FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS runtime ENV ASPNETCORE_URLS http://+:8080 -ENV COMPlus_ReadyToRun 0 WORKDIR /app COPY --from=build /app/out ./