From 7aa8f99cbaa0870247ad393e81ed6485ed0ce579 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 22 Mar 2026 10:44:32 +0000 Subject: [PATCH] Initial upload: curl-converter-cli with CI/CD workflow --- README.md | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 136 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 66e54da..5008132 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,138 @@ # curl-converter-cli -A CLI tool that converts curl commands into code snippets in multiple programming languages (Python, JavaScript, Go, Ruby, PHP). \ No newline at end of file +A powerful CLI tool that converts curl commands into code snippets in multiple programming languages. + +## Features + +- Convert curl commands to **Python**, **JavaScript**, **Go**, **Ruby**, and **PHP** +- Parse and extract URL, HTTP method, headers, body data, authentication, cookies +- Support for Basic Auth, Bearer Token, and API Key authentication +- Handle JSON and form data automatically +- Interactive CLI mode for pasting curl commands +- Output to file or stdout + +## Installation + +```bash +# Clone the repository +git clone https://github.com/yourusername/curl-converter-cli.git +cd curl-converter-cli + +# Install in development mode +pip install -e . + +# Or install with dev dependencies +pip install -e ".[dev]" +``` + +## Usage + +### Convert curl to Python + +```bash +curlconverter convert -c "curl -X POST https://api.example.com/data -d '{\"key\":\"value\"}'" -l python +``` + +### Convert curl to JavaScript + +```bash +curlconverter convert -c "curl -H 'Authorization: Bearer token' https://api.example.com" -l javascript +``` + +### Convert curl to Go + +```bash +curlconverter convert -c "curl -X POST -d 'name=test' https://api.example.com/users" -l go +``` + +### Convert curl to Ruby + +```bash +curlconverter convert -c "curl -u user:pass https://api.example.com" -l ruby +``` + +### Convert curl to PHP + +```bash +curlconverter convert -c "curl -H 'Content-Type: application/json' https://api.example.com" -l php +``` + +### Interactive Mode + +```bash +curlconverter convert -i +``` + +### List Supported Languages + +```bash +curlconverter languages +``` + +Output: +``` +python - Python (requests) +javascript - JavaScript (fetch) +go - Go (net/http) +ruby - Ruby (Net::HTTP) +php - PHP (cURL) +``` + +### Analyze a curl Command + +```bash +curlconverter analyze -c "curl https://example.com" +``` + +Output: +``` +Parsed curl command: + URL: https://example.com + Method: GET +``` + +### Output to File + +```bash +curlconverter convert -c "curl https://api.example.com" -l python -o output.py +``` + +## Supported Languages + +| Language | Library/Module | Description | +|----------|---------------|-------------| +| python | requests | Python HTTP library | +| javascript | fetch | Native Fetch API | +| go | net/http | Go standard library | +| ruby | Net::HTTP | Ruby standard library | +| php | cURL | PHP extension | + +## Supported curl Options + +- `-X, --request` - HTTP method +- `-H, --header` - Custom headers +- `-d, --data` - Request body data +- `--data-raw` - Request body data (raw) +- `-u, --user` - Basic authentication +- `-b, --cookie` - Cookies +- `-A, --user-agent` - User-Agent header +- `-L, --location` - Follow redirects +- `-s, --silent` - Silent mode + +## Development + +### Run Tests + +```bash +pytest tests/ -v +``` + +### Run Tests with Coverage + +```bash +pytest tests/ -v --cov=curlconverter --cov-report=html +``` + +## License + +MIT License - see [LICENSE](LICENSE) file for details.