-
-
Notifications
You must be signed in to change notification settings - Fork 748
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Azure Functions isolated process #4988
Azure Functions isolated process #4988
Conversation
…ons_isolated_process
…ocess. Spent significant time on trying to get the Binding to work with Attribute to match existing in-process support. And DID get a branch working locally with full bindings running -- but it was UGLY, and runtime binding failed with error unable to bind to String.... finally realize that the MS Docs say (buried and hard to find) that only String data is supported for marshalling in/out of the isolated worker process -- soo, yep waste of time. The DI implementation has only a couple lines of extra code and works perfectly fine, so it's still really streamlined. And the code is massively simplified as Bindings in isolated process are not nearly as elegant as in-process (it's aggrivatingly narly to even get it compiling and initializing).
…process extensions so that code can be portable between in-process/isolated-process.
…able. Added/expanded unit tests covering Host Builder/Configuration and End-to-End execution of hello world query. Simplified naming of HttpContextShim as it's actually not really GraphQL specific, and factored out logic for building HttpContext into an HttpContextBuilder class becasue it can be leveraged for end-to-end unit tests of the In-Process AzureFunctions also!
… world query for IsolatedProcess using HttpRequestData & HttpResponseData; which is unique to the Isolated Process. Had to add a ton of manual mock classes to support testing, but it's now nice to have real mock classes (since all Default implementations from Microsoft are internal).
I moved it to the main branch ... we cherry-pick the change to version 12 once we have merged it. |
SonarCloud Quality Gate failed. |
...tChocolate.AzureFunctions.IsolatedProcess/HotChocolate.AzureFunctions.IsolatedProcess.csproj
Outdated
Show resolved
Hide resolved
https://github.com/ChilliCream/hotchocolate into bbernard/support_for_azure_functions_isolated_process
…d_process # Conflicts: # src/HotChocolate/AzureFunctions/src/HotChocolate.AzureFunctions/Extensions/HotChocolateAzureFunctionServiceCollectionExtensions.cs # src/HotChocolate/Language/src/Language.Visitors/Properties/Resources.Designer.cs # src/HotChocolate/MongoDb/test/Data.MongoDb.Projections.Tests/HotChocolate.Data.MongoDb.Projections.Tests.csproj # src/HotChocolate/Stitching/src/Stitching/Properties/StitchingResources.Designer.cs
…ucture needing a git clean. - Updated Azure Function Isolated Process test namespaces to match physical location for consistency. - Fix TargetFrameworks support for Azure Functions Isolated process which does not support netcoreapp3.1 so it must have it's own targets that are only .net5.0+
https://github.com/ChilliCream/hotchocolate into bbernard/support_for_azure_functions_isolated_process
@michaelstaib someone on slack asked a good question this evening about HttpContext support via IHttpContextAccessor... I used one of my local demo projects to quickly test that it works as expected. But I didn't add support for that in the new Isolated process model since we control the |
https://github.com/ChilliCream/hotchocolate into bbernard/support_for_azure_functions_isolated_process
…rocess. Added marshaling of FunctionsContext.Items collection (object bag) into HttpContext.Items collection. Added Unit tests for IHttpContextAccesor to both Az Func In-process and Isolated-process test projects. Code cleanup and updates to use 'var', etc.
… the new v13 repo). Test cleanup to ensure we specify Reqeuest Http Headers (e.g Accept Json and Accept text/html, etc.).
Summary of the changes (Less than 80 chars)