README.mdraw
# Veil API
Базовый Go-бэкенд для временных сессий браузера. Сервер использует только стандартную библиотеку Go и не сохраняет историю на диск.
## Структура
```text
backend/
├── cmd/server/ запуск HTTP-сервера
├── internal/config/ переменные окружения
├── internal/httpapi/ маршруты, cookie, CORS и HTTP-ответы
└── internal/session/ модель, проверка и хранилище сессий
```
## Запуск
```bash
cd backend
go run ./cmd/server
```
Сервер будет доступен на `http://localhost:8080`.
## API
| Метод | Путь | Назначение |
|---|---|---|
| `GET` | `/health` | проверка работы сервера |
| `POST` | `/api/v1/sessions` | создать временную сессию |
| `GET` | `/api/v1/sessions/current` | получить текущую сессию |
| `PUT` | `/api/v1/sessions/current` | сохранить вкладки и настройки |
| `DELETE` | `/api/v1/sessions/current` | удалить сессию |
Идентификатор хранится в `HttpOnly` cookie. Запросы состояния должны отправлять cookie вместе с запросом.
## Настройки
| Переменная | Значение по умолчанию |
|---|---|
| `HTTP_ADDR` | `:8080` |
| `APP_ORIGIN` | `http://localhost:3000` |
| `SESSION_TTL` | `30m` |
| `SESSION_CLEANUP_INTERVAL` | `1m` |
| `SECURE_COOKIES` | `false` локально, `true` с HTTPS |
## Проверка
```bash
go test ./...
go vet ./...
```