Skip to content

bubu256/go-url-shortener-server

Repository files navigation

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

Данный сервер возвращает клиенту короткую ссылку на предоставленный ресурс. При переходе по короткой ссылке происходит перенаправление на исходный 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 - путь к файлу с хранилищем

Примечания

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

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages