Azure / Azure/azure-functions-java-worker

reorder arguments resolving logics to full support middleware - V5 - breaking change.

Ouverte
#648 0 commentaires 0 réactions 1 personne assignée Réclamée par @kaibocai Voir sur GitHub
Enhancement Needs: Triage (Functions) reviewed V5
Langage dominant
Java
Étoiles
103
Forks
74
Merge moyen
4 j 8 h
PR mergées (30 j)
2

Description

For today's middleware support logics we are convert the parameter payload to String for middleware to consume during the invocation request at https://github.com/Azure/azure-functions-java-worker/blob/679e5618010d6c3b68b48654048c268b7274a116/src/main/java/com/microsoft/azure/functions/worker/binding/ExecutionContextDataSource.java#L120,

This has limitation as middleware is getting the payload that already got transferred to String type. Middleware may want to use the original type of parameter payload which build by java worker. I see from two advantages of this approach:
- Give more fliexibility to middleware when they want to play around the input parameter payload, not only restrict payload type to String.
- Reduce the repeat work we already did in the worker - convert the payload type from GRPC type to corresponding java type. Currently without this we are trying to did the same worker for middleware only different we convert all GRPC type to String.

Attached the potential PR here https://github.com/Azure/azure-functions-java-worker/tree/kaibocai/v5-bench

Potential break changes:

- Unique Parameter Name: https://github.com/Azure/azure-functions-java-worker/blob/305a00a0ce322c72a49a0f779dde1c41d37a5fc7/src/main/java/com/microsoft/azure/functions/worker/broker/ParameterResovler.java#L23

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.