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

Fix status codes and response messages for PUT in API docs #2291

Merged
merged 1 commit into from
Feb 27, 2025

Conversation

tsutsu3
Copy link

@tsutsu3 tsutsu3 commented Feb 26, 2025

Thank you for your contribution to the Pi-hole Community!

Please read the comments below to help us consider your Pull Request.

We are all volunteers and completing the process outlined will help us review your commits quicker.

Please make sure you

  1. Base your code and PRs against the repositories developmental branch.
  2. Sign Off all commits as we enforce the DCO for all contributions
  3. Sign all your commits as they must have verified signatures
  4. File a pull request for any change that requires changes to our documentation at our documentation repo

What does this PR aim to accomplish?:

How does this PR accomplish the above?:

Link documentation PRs if any are needed to support this PR:


By submitting this pull request, I confirm the following:

  1. I have read and understood the contributors guide, as well as this entire template. I understand which branch to base my commits and Pull Requests against.
  2. I have commented my proposed changes within the code and I have tested my changes.
  3. I am willing to help maintain this change if there are issues with it later.
  4. It is compatible with the EUPL 1.2 license
  5. I have squashed any insignificant commits. (git rebase)
  6. I have checked that another pull request for this purpose does not exist.
  7. I have considered, and confirmed that this submission will be valuable to others.
  8. I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  9. I give this submission freely, and claim no ownership to its content.

  • I have read the above and my PR is ready for review. Check this box to confirm

@yubiuser
Copy link
Member

It seems, response code can be 200 if the item is updated, but 201 if the item is newly created.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT

__

Did you check, which response is actually used by FTL when a) an update happend and b) a new item is created?

@tsutsu3
Copy link
Author

tsutsu3 commented Feb 26, 2025

I have checked the response in WebUI's /api/docs.
Additionally, I reviewed the following logic in list.c:

int response_code = 201; // 201 - Created
if(api->method == HTTP_PUT)
    response_code = 200; // 200 - OK

From this, it appears that a PUT request always returns a 200 OK response, regardless of whether an item was created or updated.

Given this behavior, I believe the appropriate description should be Created or Updated Item to accurately reflect the response.

@tsutsu3
Copy link
Author

tsutsu3 commented Feb 26, 2025

If the expected behavior is to return 201 Created for new item creation and 200 OK for updates, please feel free to close this PR.

@DL6ER
Copy link
Member

DL6ER commented Feb 27, 2025

The documentation is obviously out-of-sync with the actual code. Your PR fixes that.

@DL6ER DL6ER merged commit f0a4ac1 into pi-hole:development Feb 27, 2025
13 checks passed
@DL6ER DL6ER mentioned this pull request Feb 27, 2025
5 tasks
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