Skip to content
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

Adding http handler for lookup subjects stream response #95

Closed

Conversation

akoserwal
Copy link
Contributor

@akoserwal akoserwal commented Jun 13, 2024

PR Template:

Add HTTP handler for Lookup subjects

Describe your changes

As Kratos doesn't support stream for HTTP

I implement an HTTP handler for the Subject Lookup endpoint. I follow the same approach as the grpc-gateway project to convert gRPC to HTTP.

Request

curl --location --request GET 'http://localhost:8000/api/authz/v0/subjects' \
--header 'Content-Type: application/json' \
--data '{
    "subject_type": {
        "name": "group"
    },
    "subject_relation": "member",
    "relation": "member",
    "resource": {
        "type": {
            "name": "group"
        },
        "id": "omni"
    }
}' 

Response

[
    {
        "subject": {
            "subject": {
                "type": {
                    "name": "group"
                },
                "id": "omni"
            }
        },
        "pagination": {}
    }
]

Ticket reference (if applicable)

Fixes #

Checklist

  • Are the agreed upon acceptance criteria fulfilled?

  • Was the 4-eye-principle applied? (async PR review, pairing, ensembling)

  • Do your changes have passing automated tests and sufficient observability?

  • Are the work steps you introduced repeatable by others, either through automation or documentation?

    • If automation is possible but not done due to other constraints, a ticket to the tech debt sprint is added
    • An SOP (Standard Operating Procedure) was created
  • The Changes were automatically built, tested, and - if needed, behind a feature flag - deployed to our production environment. (Please check this when the new deployment is done and you could verify it.)

  • Are the agreed upon coding/architectural practices applied?

  • Are security needs fullfilled? (e.g. no internal URL)

  • Is the corresponding Ticket in the right state? (should be on "review" now, put to done when this change made it to production)

  • For changes to the public API / code dependencies: Was the whole team (or a sufficient amount of ppl) able to review?

@app-sre-bot
Copy link
Collaborator

Can one of the admins verify this patch?

@Rajagopalan-Ranganathan
Copy link
Contributor

Is it possible to add some unit tests for this? WDYT?

@Rajagopalan-Ranganathan
Copy link
Contributor

decision: will not add streaming response support in http for now, will revisit it later when required

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants