Skip to content

GO service for getting images by URL, creating preview images with a given size, cache them on the disk and return preview by HTTP

Notifications You must be signed in to change notification settings

alexx1524/go-image-previewer

Repository files navigation

Превьювер изображений (go-image-previewer)

GO сервис предназначен для изготовления preview (создания изображения с новыми размерами на основе имеющегося изображения). Сервис проксирует HTTP запросы на другой сервер, скачивает изображение и изменяет его размер под заданные параметры. После этого изображение сохраняется на диске и кешируется в LRU-cache. При следующем запросе имеющем такой же URL и размеры изображение возвращается из кеша.

Настройки:

  • размер количества элементов кеша (следующие запросы будут вытеснять самые старые записи в кеше и они будут удалять с диска);
  • уровень логирования;
  • настройки HTTP сервера.

Архитектура

Сервис представляет собой web-сервер (прокси), загружающий изображения, масштабирующий/обрезающий их до нужного формата и возвращающий пользователю.

Основной обработчик

http:///fill/300/200/raw.githubusercontent.com/OtusGolang/final_project/master/examples/image-previewer/_gopher_original_1024x504.jpg

Сборка

make build

Проверка кода

make lint

Запуск приложения в docker-compose (удаление через down)

make run

Запуск Unit-тестов и интеграционных тестов

make test
make integration-tests

About

GO service for getting images by URL, creating preview images with a given size, cache them on the disk and return preview by HTTP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published