technitium 0.4.0

Typed async Rust client for the Technitium DNS Server API
Documentation
# List Logs

## Endpoint

`/api/logs/list`

**Obsolete Path:** `/api/listLogs`

## Method

GET

## Description

Lists all log files available on the DNS server. Returns each log file's name and human-readable size.

## Authentication

Required. A valid session `token` from `login` or `createToken`.

**Permission:** Logs: View

## Parameters

| Name | Type | Required | Conditional | Description |
|------|------|----------|-------------|-------------|
| `token` | string | Yes | No | Session token generated by `login` or `createToken`. |
| `node` | string | No | No | The node domain name to target. Only usable when Clustering is initialized. When unspecified, the current node is used. |

## Response Fields

| Field | Type | Description |
|-------|------|-------------|
| `status` | string | `"ok"` on success. |
| `response.logFiles` | array | Array of log file objects. |
| `response.logFiles[].fileName` | string | The log file name (date-formatted, e.g. `"2020-09-19"`). Used as input for Download Log and Delete Log calls. |
| `response.logFiles[].size` | string | Human-readable file size (e.g. `"8.14 KB"`). |

## Conditional Logic Notes

- The `node` parameter is only meaningful when Clustering is initialized; otherwise it is ignored or causes an error.
- No pagination parameters exist; the full list of log files is returned in a single response.

## Edge Cases

- If no log files exist on the server, `logFiles` is expected to be an empty array.
- The `size` field is a human-readable string (not a numeric byte count), so parsing it requires handling units like KB, MB, etc.
- The `fileName` values appear to be date strings (e.g. `"2020-09-19"`) but the format is not explicitly guaranteed by the API; consumers should treat them as opaque identifiers when passing to other log endpoints.