Skip to content

Add a hello endpoint#37

Open
gokhanpicgeta wants to merge 1 commit into
masterfrom
factory/add-a-hello-endpoint-600e163c
Open

Add a hello endpoint#37
gokhanpicgeta wants to merge 1 commit into
masterfrom
factory/add-a-hello-endpoint-600e163c

Conversation

@gokhanpicgeta
Copy link
Copy Markdown
Collaborator

Automated implementation by Silverpond Factory (run 600e163c).

# Hello Endpoint Implementation

## Summary

Added a simple HTTP "hello" endpoint to the Silverforge factory project.

## Changes

1. **Created `factory/hello_server.py`**
   - New module implementing a basic HTTP server using Python's standard library `http.server`
   - Provides a `HelloHandler` class that responds to GET requests on the `/hello` path
   - Returns JSON response `{"message": "hello"}` on success, `{"error": "not found"}` on other paths
   - `run_server()` function starts the server on configurable host and port

2. **Updated `factory/cli.py`**
   - Added new `hello` CLI command to start the HTTP server
   - Supports `--port` (default 8000) and `--host` (default 0.0.0.0) options
   - Updated docstring to document the new command
   - Handles graceful shutdown on Ctrl-C

## Design Decisions

- Used Python's built-in `http.server` module to avoid adding external dependencies
- Simple GET-only endpoint following RESTful conventions
- Returns JSON for consistency with modern APIs
- Endpoint accessible at `/hello` path
- Server runs in foreground (blocks CLI) until interrupted, which is typical for service commands

## Testing

Code passes Python syntax validation. The endpoint can be tested by running:
```bash
factory hello --port 8000
# Then in another terminal:
curl http://localhost:8000/hello
```
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.

1 participant