Skip to content

Add functionality to easily integrate with DocumentResolvers #15

@lytedev

Description

@lytedev

The existing push/pop phases will fail completely if you attempt to integrate them into a DocumentResolver pipeline. It'd be great if a simple way was provided to add similar tracing phases for such situations.

I hope to submit a PR shortly, but my absinthe knowledge is fairly limited, so feedback and discussion on this issue in the meantime would be invaluable. I also may say a number of things that are completely incorrect, so please bear with me!

For example, the existing tracer push/pop phases happen after the Absinthe.Phase.Blueprint and Absinthe.Phase.Document.Result phases. I assume the latter one will remain the same, but is there an analog to Absinthe.Phase.Blueprint when dealing with a DocumentResolver? If so, it shouldn't be overly difficult to add two new push/pop modules (or at least just push) and add an add_document_resolver_phases/1 function that does something similar.

Once that's done, all that needs to be added is a note in the readme that users' DocumentResolver modules should indeed override the pipeline/1 callback and include this new phase-adding function.

Please share any thoughts you might have! Perhaps this entire issue is misguided and I'm missing something obvious, which would actually be wonderful.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions