Skip to content

Routing : Add logic to separate request query, route and body values for arguments #24

@sulton-max

Description

@sulton-max

Now if query and route has 2 parameters with the same type, request handler will try to create arguments from request based on their type only

    private async ValueTask<object[]> GetArguments(MethodInfo method, HttpListenerContext context)
    {
        var parameters = method.GetParameters();
        var args = new object[parameters.Length];

        for (int i = 0; i < parameters.Length; i++)
        {
            var parameterType = parameters[i].ParameterType;
            if (parameterType == typeof(HttpListenerContext))
            {
                args[i] = context;
            }
            else
            {
                args[i] = null;
            }

            var content = await GetRequestContentAsync(context.Request, parameterType);
            if (content != default)
                args[i] = content;
        }

        return args;
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions