An open API service indexing awesome lists of open source software.

https://github.com/begenov/test-task


https://github.com/begenov/test-task

fiber golang http

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# test-task

Данное приложение разработано для проверки доступности сайтов из заданного списка и предоставления информации о времени доступа к ним. Оно предоставляет API для пользователей, которые могут получить время доступа к определенному сайту, имя сайта с минимальным временем доступа или имя сайта с максимальным временем доступа. Также, администраторы могут получать статистику о количестве запросов пользователей по этим эндпойнтам.

## Запуск приложения

Для запуска приложения выполните следующую команду:

```
go run cmd/main.go
```

## Использование API
### Получить время доступа к определенному сайту

```
GET /api/v1/site/:url
```

Замените :url на URL сайта, для которого вы хотите получить время доступа

Пример запроса:

```
GET /api/v1/site/example.com
```

Пример ответа:

```json
{
"URL": "example.com",
"LastTime": "2023-06-13T19:08:23.444197831+06:00"
}
```

```Получить имя сайта с минимальным временем доступа```

```
GET /api/v1/min-availability
```

Пример ответа:

```json
{
"message": "Сайт с минимальной доступностью: google.com"
}
```

```Получить имя сайта с максимальным временем доступа```

```
GET /api/v1/max-availability
```

Пример ответа:

```json
{
"message": "Сайт с максимальной доступностью: pages.tmall.com"
}
```

## Получить статистику количества запросов
### Получить статистику по всем запросам

```
GET /api/v1/stats
```
Пример ответа:
```json
{
"/site/{url}": 10,
"/site/min": 5,
"/site/max": 3
}
```