Files
TuneRipper/TuneRipper.Api
Michal Vrba 3ecff7ca73 Refactor: Use jobId_title.ext for downloads & improve UX
Adopt GUID-based {jobId}_{title}.ext filename convention for all downloads, ensuring unique, human-readable, and traceable files. Update DownloadController to use precise jobId-based file matching and generate user-friendly download names. Pass jobId to VideoService for consistent naming; add robust title sanitization. Remove fallback file search logic for predictability. Update README and API docs to reflect new format and workflow. Improve logging and error messages for clarity.
2025-12-12 10:28:48 +01:00
..
2025-12-11 12:53:44 +01:00
2025-12-11 12:53:44 +01:00
2025-12-11 12:53:44 +01:00
2025-12-11 12:53:44 +01:00

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:

Testing the API

  1. Start the API using one of the methods above
  2. Open the HTTP test file: TuneRipper.Api/api-tests.http
  3. Run the connectivity tests first to verify the API is responding
  4. Use the main API tests once connectivity is confirmed

Troubleshooting

"This localhost page can't be found" errors:

  1. 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
  2. Try HTTP instead of HTTPS:

    • Use http://localhost:5112 instead of https://localhost:7160
    • Some development environments have HTTPS certificate issues
  3. Trust development certificates (for HTTPS):

    dotnet dev-certs https --trust
    
  4. 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:

  1. Copy job IDs manually:

    • Run a POST request to start processing
    • Copy the fileName value from the response
    • Use it in the manual test sections
  2. 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:

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