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

Caddy API returns a 500 when trying to POST/GET an id that does not exist #4561

Closed
cpaczek opened this issue Feb 5, 2022 · 1 comment · Fixed by #4569
Closed

Caddy API returns a 500 when trying to POST/GET an id that does not exist #4561

cpaczek opened this issue Feb 5, 2022 · 1 comment · Fixed by #4569
Labels
bug 🐞 Something isn't working good first issue 🐤 Good for newcomers

Comments

@cpaczek
Copy link

cpaczek commented Feb 5, 2022

As you can see here:
image

Caddy is returning a 500 when trying to get an ID that does not exist. This should be a 404 instead of a 500. We are trying to make a k8 operator which has a CreateOrUpdate function for specific routes meaning we need to check if an ID exists. It would be nice to have 404 instead of a 500.

@cpaczek cpaczek changed the title Caddy API returns a 500 when trying to POST/GET an id the does not exist Caddy API returns a 500 when trying to POST/GET an id that does not exist Feb 5, 2022
@mholt
Copy link
Member

mholt commented Feb 7, 2022

Good idea. The handleConfigID handler could probably be modified to return APIError structs which specify the status code, rather than naked error values.

@mholt mholt added bug 🐞 Something isn't working good first issue 🐤 Good for newcomers labels Feb 7, 2022
mholt pushed a commit that referenced this issue Mar 8, 2022
* opentelemetry: create a new module

* fix imports

* fix test

* Update modules/caddyhttp/opentelemetry/README.md

Co-authored-by: Dave Henderson <[email protected]>

* Update modules/caddyhttp/opentelemetry/README.md

Co-authored-by: Dave Henderson <[email protected]>

* Update modules/caddyhttp/opentelemetry/README.md

Co-authored-by: Dave Henderson <[email protected]>

* Update modules/caddyhttp/opentelemetry/tracer.go

Co-authored-by: Dave Henderson <[email protected]>

* rename error ErrUnsupportedTracesProtocol

* replace spaces with tabs in the test data

* Update modules/caddyhttp/opentelemetry/README.md

Co-authored-by: Francis Lavoie <[email protected]>

* Update modules/caddyhttp/opentelemetry/README.md

Co-authored-by: Francis Lavoie <[email protected]>

* replace spaces with tabs in the README.md

* use default values for a propagation and exporter protocol

* set http attributes with helper

* simplify code

* Cleanup modules/caddyhttp/opentelemetry/README.md

Co-authored-by: Dave Henderson <[email protected]>

* Update link in README.md

Co-authored-by: Dave Henderson <[email protected]>

* Update documentation in README.md

Co-authored-by: Dave Henderson <[email protected]>

* Update link to naming spec in README.md

Co-authored-by: Dave Henderson <[email protected]>

* Rename module from opentelemetry to tracing

Co-authored-by: Dave Henderson <[email protected]>

* Rename span_name to span

Co-authored-by: Dave Henderson <[email protected]>

* Rename span_name to span

Co-authored-by: Dave Henderson <[email protected]>

* Simplify otel resource creation

Co-authored-by: Dave Henderson <[email protected]>

* handle extra attributes

Co-authored-by: Dave Henderson <[email protected]>

* update go.opentelemetry.io/otel/semconv to 1.7.0

Co-authored-by: Dave Henderson <[email protected]>

* update go.opentelemetry.io/otel version

* remove environment variable handling

* always use tracecontext,baggage as propagators

* extract tracer name into variable

* rename OpenTelemetry to Tracing

* simplify resource creation

* update go.mod

* rename package from opentelemetry to tracing

* cleanup tests

* update Caddyfile example in README.md

* update README.md

* fix test

* fix module name in README.md

* fix module name in README.md

* change names in README.md and tests

* order imports

* remove redundant tests

* Update documentation README.md

Co-authored-by: Dave Henderson <[email protected]>

* Fix grammar

Co-authored-by: Dave Henderson <[email protected]>

* Update comments

Co-authored-by: Dave Henderson <[email protected]>

* Update comments

Co-authored-by: Dave Henderson <[email protected]>

* update go.sum

* update go.sum

* Add otelhttp instrumentation, update OpenTelemetry libraries.

* Use otelhttp instrumentation for instrumenting HTTP requests.

This change uses context.WithValue to inject the next handler into the
request context via a "nextCall" carrier struct, and pass it on to a
standard Go HTTP handler returned by otelhttp.NewHandler. The
underlying handler will extract the next handler from the context,
call it and pass the returned error to the carrier struct.

* use zap.Error() for the error log

* remove README.md

* update dependencies

* clean up the code

* change comment

* move serveHTTP method from separate file

* add syntax to the UnmarshalCaddyfile comment

* go import the file

* admin: Write proper status on invalid requests (#4569) (fix #4561)

* update dependencies

Co-authored-by: Dave Henderson <[email protected]>
Co-authored-by: Francis Lavoie <[email protected]>
Co-authored-by: Vibhav Pant <[email protected]>
Co-authored-by: Alok Naushad <[email protected]>
Co-authored-by: Cedric Ziel <[email protected]>
mholt added a commit that referenced this issue Jun 2, 2022
* caddytls: Adding ClientCertValidator for custom client cert validations

* caddytls: Cleanups for ClientCertValidator changes

caddytls: Cleanups for ClientCertValidator changes

* Update modules/caddytls/connpolicy.go

Co-authored-by: Francis Lavoie <[email protected]>

* Update modules/caddytls/connpolicy.go

Co-authored-by: Francis Lavoie <[email protected]>

* Update modules/caddytls/connpolicy.go

Co-authored-by: Francis Lavoie <[email protected]>

* Update modules/caddytls/connpolicy.go

Co-authored-by: Francis Lavoie <[email protected]>

* Update modules/caddytls/connpolicy.go

Co-authored-by: Matt Holt <[email protected]>

* Update modules/caddytls/connpolicy.go

Co-authored-by: Matt Holt <[email protected]>

* Unexported field Validators, corrected renaming of LeafVerificationValidator to LeafCertClientAuth

* admin: Write proper status on invalid requests (#4569) (fix #4561)

* Apply suggestions from code review

* Register module; fix compilation

* Add log for deprecation notice

Co-authored-by: Roettges Florian <[email protected]>
Co-authored-by: Francis Lavoie <[email protected]>
Co-authored-by: Matt Holt <[email protected]>
Co-authored-by: Alok Naushad <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐞 Something isn't working good first issue 🐤 Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants