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

DateTime HTTP Client - Rowan #195

Open
10 of 14 tasks
rowangamal opened this issue Jul 4, 2024 · 0 comments
Open
10 of 14 tasks

DateTime HTTP Client - Rowan #195

rowangamal opened this issue Jul 4, 2024 · 0 comments

Comments

@rowangamal
Copy link

rowangamal commented Jul 4, 2024

Develop and Test HTTP Client for Datetime Server #144

Description:

Create an HTTP client in Go that consumes the datetime server APIs implemented in the previous project #144 . This client will focus on building an HTTP client development and testing.

Requirements:

  1. Client Functionality:

    • Implement functions to call each datetime server endpoint
    • Handle different response formats (JSON, plain text) (our previous server only had string)
    • Implement proper error handling and timeouts
  2. Configuration:

    • Allow configuration of server URLs and ports
    • Support for environment variable configuration all allowed, extracting env then injecting into fn / (in CLI)
  3. Retry Mechanism:

  4. Testing:

    • Unit tests for client functions (canceled afterwards)
    • Integration tests using a mock server
  5. Documentation:

    • Provide godoc-style comments for all exported functions
    • Include usage examples in the README
  6. Logging:

    • Implement structured logging for client operations (canceled afterwards)

Optional Enhancements:

  • Implement a simple CLI interface for the client

Acceptance Criteria:

  • All tests pass and provide good coverage
  • Documentation clearly explains usage and testing procedures

After this one You can develop the one for pokeapi

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

No branches or pull requests

1 participant