Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 2.38 KB

README.md

File metadata and controls

37 lines (31 loc) · 2.38 KB

Сервер сокращения ссылок

Данный сервер возвращает клиенту короткую ссылку на предоставленный ресурс. При переходе по короткой ссылке происходит перенаправление на исходный URL адрес. Поддерживает сжатие gzip.

Работа сервера:

  • "/" принимает исходный URL в теле post запроса, и возвращает короткую ссылку в ответе.
  • "/api/shorten" принимает json {"url":"https://longurlexample.com/"} и возвращает (пример) { "result": "http://example.com/1EVO" }

Быстрый запуск

git clone # клонируем репозиторий
go build .\cmd\shortener\main.go # установите go если потребуется https://go.dev/doc/install 
.\main.exe -a localhost:8080 -b http://localhost:8080 -f "file.storage"     

Настройка сервера

Все параметры являются не обязательными. По умолчанию сервер запускается на localhost:8080

Через флаги запуска:

  • -a адрес сервера
  • -b базовый адрес для коротких ссылок
  • -f файл хранилища в который программа сохраняет данные по коротким и исходным ссылкам

Через переменные окружения:

  • SERVER_ADDRESS - адрес поднимаемого сервера, например "localhost:8080"
  • BASE_URL - базовый адрес для коротких ссылок, например "http://localhost:8080"
  • FILE_STORAGE_PATH - путь к файлу с хранилищем

Примечания

Приоритет конфигурации отдается переменным окружения при их наличии.

При отсутствии пути к файлу хранилища программа хранит все данные только в оперативной памяти. Пожалуйста используйте этот вариант только для тестирования, после завершения программы данные не сохраняться.