Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# shortener

Веб-сервис сокращения URL

| Путь | Метод | Описание |
|--------------------|--------|--------------------------------------|
| / | POST | Добавление ссылки |
| /:id | GET | Получение ссылки |
| /api/shorten | POST | Добавление ссылки в JSON |
| /api/shorten/batch | POST | Пакетное добавление ссылок |
| /api/user/urls | GET | Получение списка ссылок пользователя |
| /api/user/urls | DELETE | Удаление ссылок пользователя |
| /ping | GET | Проверка соединения с БД |




# go-musthave-shortener-tpl
Шаблон репозитория для практического трека «Go в веб-разработке».

Expand Down
3 changes: 0 additions & 3 deletions cmd/shortener/README.md

This file was deleted.

4 changes: 3 additions & 1 deletion cmd/shortener/shortener.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ func main() {
var serverAddr string
var baseURL string
var dbFile string
var dbCredentials string

flag.StringVar(&serverAddr, "a", os.Getenv("SERVER_ADDRESS"), "server address")
flag.StringVar(&baseURL, "b", os.Getenv("BASE_URL"), "base URL")
flag.StringVar(&dbFile, "f", os.Getenv("FILE_STORAGE_PATH"), "file storage path")
flag.StringVar(&dbCredentials, "d", os.Getenv("DATABASE_DSN"), "database credentials")
flag.Parse()

if serverAddr == "" {
Expand All @@ -25,7 +27,7 @@ func main() {
baseURL = "http://" + serverAddr
}

err := app.Start(serverAddr, baseURL, dbFile)
err := app.Start(serverAddr, baseURL, dbFile, dbCredentials)
if err != nil {
panic(err)
}
Expand Down
3 changes: 3 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ require (
)

require (
github.com/google/uuid v1.3.0
github.com/jmoiron/sqlx v1.3.5
github.com/labstack/echo v3.3.10+incompatible
github.com/labstack/gommon v0.3.1 // indirect
github.com/lib/pq v1.10.7
github.com/mattn/go-colorable v0.1.11 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
Expand Down
9 changes: 9 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,16 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg=
Expand All @@ -29,10 +34,14 @@ github.com/labstack/echo/v4 v4.8.0 h1:wdc6yKVaHxkNOEdz4cRZs1pQkwSXPiRjq69yWP4QQS
github.com/labstack/echo/v4 v4.8.0/go.mod h1:xkCDAdFCIf8jsFQ5NnbK7oqaF/yU1A1X20Ltm0OvSks=
github.com/labstack/gommon v0.3.1 h1:OomWaJXm7xR6L1HmEtGyQf26TEn7V6X88mktX9kee9o=
github.com/labstack/gommon v0.3.1/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM=
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mattn/go-colorable v0.1.11 h1:nQ+aFkoE2TMGc0b68U2OKSexC+eq46+XwZzWXHRmPYs=
github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
Expand Down
3 changes: 0 additions & 3 deletions internal/app/README.md

This file was deleted.

10 changes: 7 additions & 3 deletions internal/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import (
"github.com/labstack/echo/v4/middleware"
)

func Start(serverAddr, baseURL, dbFile string) error {
h, err := handler.New(serverAddr, baseURL, dbFile)
func Start(serverAddr, baseURL, dbFile, dbCredentials string) error {
h, err := handler.New(serverAddr, baseURL, dbFile, dbCredentials)
if err != nil {
return fmt.Errorf("handler: %v", err)
return fmt.Errorf("handler: %w", err)
}

e := echo.New()
Expand All @@ -22,6 +22,10 @@ func Start(serverAddr, baseURL, dbFile string) error {
e.POST("/", h.CreateURL)
e.GET("/:id", h.RetrieveURL)
e.POST("/api/shorten", h.CreateURLInJSON)
e.POST("/api/shorten/batch", h.CreateBatchURL)
e.GET("/api/user/urls", h.ListURL)
e.DELETE("/api/user/urls", h.DeleteURL)
e.GET("/ping", h.Ping)

e.Logger.Fatal(e.Start(serverAddr))

Expand Down
Loading