- Add Health, Video, and Download controllers with endpoints for health checks, video details, processing, status, results, and simulated downloads - Implement IVideoService for YouTube URL validation and mock video info - Add API models for responses and job status tracking - Configure DI, CORS (BlazorPolicy), OpenAPI, and root metadata endpoint in Program.cs - Add README with usage, troubleshooting, and development notes - Minor project file cleanup and encoding fix
TuneRipper API
Quick Start
Starting the API
Option 1: Using the start script (Windows)
cd TuneRipper.Api
start-api.bat
Option 2: Using the start script (Linux/Mac)
cd TuneRipper.Api
chmod +x start-api.sh
./start-api.sh
Option 3: Manual start
cd TuneRipper.Api
dotnet run
API Endpoints
Once running, the API will be available at:
- HTTPS: https://localhost:7160
- HTTP: http://localhost:5112
Testing the API
- Start the API using one of the methods above
- Open the HTTP test file:
TuneRipper.Api/api-tests.http - Run the connectivity tests first to verify the API is responding
- Use the main API tests once connectivity is confirmed
Troubleshooting
"This localhost page can't be found" errors:
-
Check if API is running:
- Look for console output showing "Now listening on: https://localhost:7160"
- If not running, start it using the methods above
-
Try HTTP instead of HTTPS:
- Use
http://localhost:5112instead ofhttps://localhost:7160 - Some development environments have HTTPS certificate issues
- Use
-
Trust development certificates (for HTTPS):
dotnet dev-certs https --trust -
Check port availability:
- Make sure ports 7160 and 5112 aren't used by other applications
- You can change ports in
Properties/launchSettings.json
HTTP test file variables not working:
-
Copy job IDs manually:
- Run a POST request to start processing
- Copy the
fileNamevalue from the response - Use it in the manual test sections
-
Use the troubleshooting section:
- Start with connectivity tests
- Use manual GUID replacements if variables fail
API Documentation
When the API is running, you can access:
- Root endpoint: https://localhost:7160/ (lists available endpoints)
- OpenAPI spec: https://localhost:7160/openapi/v1.json
- Health check: https://localhost:7160/api/health
Development
The API includes:
- Automatic reload on code changes (when using
dotnet run) - Detailed logging in the console
- CORS enabled for Blazor WebAssembly client
- OpenAPI/Swagger support for API documentation