Отправка статики в Golang (сервер на heroku)

Не могу разобраться с отправкой статических файлов в Golang на фреймворке martini (дело даже не в Golang, я просто никогда не имел с этим дела, а martini используется по банальной причине - самое первое и простое что попалось на глаза). На локальном компьютере все работает. На heroku - грузится только главный index.html, который идет без статики (static/index.html). А вот документация сгенерированная apidoc (в каталоге doc корня сервера) грузится не хочет. Вся статика документации почему-то становится недоступной.

2020-11-29T15:53:22.735245+00:00 app[web.1]: [martini] Started GET /css/style.css for 176.52.35.182
2020-11-29T15:53:22.735389+00:00 app[web.1]: [martini] Completed 404 Not Found in 170.062µs
и т.д.
func (trs *Translater) ApiHandler(w http.ResponseWriter, r *http.Request) {

    indexPath := filepath.Join(trs.Exe.Dir, "doc", "index.html")
    index, err := ioutil.ReadFile(indexPath)
    if err != nil {
        log.Errorf("[API INDEX] %s", err)
    } else {
        w.Write(index)
    }  
}
 
func (trs *Translater)  IndexHandler(w http.ResponseWriter, r *http.Request) {
    
    indexPath := filepath.Join(trs.Exe.Dir, "static", "index.html")
    index, err := ioutil.ReadFile(indexPath)
    if err != nil {
        log.Errorf("[MAIN INDEX] %s", err)
    } else {
        w.Write(index)
    }  
}

Собственно, роутинг:

    m := martini.Classic()
    m.Use(martini.Static("doc", 
        martini.StaticOptions{Prefix: "/api/", IndexFile:"index.html"}))
    m.Use(martini.Static("doc/css/",
        martini.StaticOptions{Prefix: "/css/"}))
    m.Use(martini.Static("doc/fonts/",
        martini.StaticOptions{Prefix: "/fonts/"}))
    m.Use(martini.Static("doc/img/",
        martini.StaticOptions{Prefix: "/img/"}))
    m.Use(martini.Static("doc/locales/",
        martini.StaticOptions{Prefix: "/locales/"}))
    m.Use(martini.Static("doc/utils/",
        martini.StaticOptions{Prefix: "/utils/"}))
    m.Use(martini.Static("doc/vendor/",
        martini.StaticOptions{Prefix: "/vendor/"}))
    
    
    m.Use(martini.Static("static", 
        martini.StaticOptions{Prefix: "static", IndexFile:"index.html"})) 


m.Get(`/`, trs.IndexHandler)
m.Get(`/api`, trs.ApiHandler)

Ответы (0 шт):