Compare commits

...

3 Commits

Author SHA1 Message Date
Maxim Lebedev eb331889bb
Fixed failing server use case tests
/ docker (push) Successful in 1m6s Details
2023-12-24 07:54:24 +06:00
Maxim Lebedev f50889d95f
🎨 Format of the code 2023-12-24 07:54:04 +06:00
Maxim Lebedev c5ee786b8e
🔥 Removed unused structures in main 2023-12-24 07:44:33 +06:00
8 changed files with 28 additions and 37 deletions

View File

@ -62,8 +62,7 @@ func NewApp(logger *log.Logger, config *domain.Config) (*App, error) {
// INFO(toby3d): any static file is public and unprotected by design, so it's safe to search it
// first before deep down to any page or it's resource which might be secured by middleware or
// something else.
static, err := staticer.Do(r.Context(), strings.TrimPrefix(r.URL.Path, "/"))
if err == nil {
if static, err := staticer.Do(r.Context(), strings.TrimPrefix(r.URL.Path, "/")); err == nil {
http.ServeContent(w, r, static.Name(), static.ModTime(), static)
return

View File

@ -11,4 +11,6 @@ const (
MIMETextHTMLCharsetUTF8 string = MIMETextHTML + "; " + charsetUTF8
)
const Und string = "und"
const charsetUTF8 string = "charset=UTF-8"

View File

@ -5,6 +5,8 @@ import (
"golang.org/x/text/language"
"golang.org/x/text/language/display"
"source.toby3d.me/toby3d/home/internal/common"
)
type Language struct {
@ -14,7 +16,7 @@ type Language struct {
dir string
}
var LanguageUnd Language = Language{}
var LanguageUnd Language = Language{} // "und"
func NewLanguage(raw string) Language {
tag, err := language.BCP47.Parse(raw)
@ -60,7 +62,7 @@ func (l Language) String() string {
return l.code
}
return "und"
return common.Und
}
func (l Language) GoString() string {

View File

@ -3,6 +3,7 @@ package domain_test
import (
"testing"
"source.toby3d.me/toby3d/home/internal/common"
"source.toby3d.me/toby3d/home/internal/domain"
)
@ -13,10 +14,10 @@ func TestLanguage_Lang(t *testing.T) {
input string
expect string
}{
"2letter": {"en", "en"},
"3letter": {"eng", "en"},
"region": {"en-US", "en"},
"und": {"", ""},
"2letter": {"en", "en"},
"3letter": {"eng", "en"},
"region": {"en-US", "en"},
common.Und: {"", ""},
} {
name, tc := name, tc
@ -37,10 +38,10 @@ func TestLanguage_Code(t *testing.T) {
input string
expect string
}{
"2letter": {"en", "en"},
"3letter": {"eng", "en"},
"region": {"en-US", "en-US"},
"und": {"", ""},
"2letter": {"en", "en"},
"3letter": {"eng", "en"},
"region": {"en-US", "en-US"},
common.Und: {"", ""},
} {
name, tc := name, tc
@ -61,11 +62,11 @@ func TestLanguage_Dir(t *testing.T) {
input string
expect string
}{
"2letter": {"en", "ltr"},
"rtl": {"ur", "rtl"},
"3letter": {"eng", "ltr"},
"region": {"en-US", "ltr"},
"und": {"", ""},
"2letter": {"en", "ltr"},
"rtl": {"ur", "rtl"},
"3letter": {"eng", "ltr"},
"region": {"en-US", "ltr"},
common.Und: {"", ""},
} {
name, tc := name, tc
@ -90,7 +91,7 @@ func TestLanguage_Name(t *testing.T) {
"2letter": {"en", "english"},
"3letter": {"eng", "english"},
"region": {"en-US", "american english"},
"und": {"", ""},
common.Und: {"", ""},
} {
name, tc := name, tc

View File

@ -10,10 +10,7 @@ type Redirect struct {
}
func (r Redirect) IsMatch(p string) bool {
matched, err := path.Match(r.From, p)
if err != nil {
return false
}
matched, _ := path.Match(r.From, p)
return matched
}

View File

@ -2,6 +2,8 @@ package domain
import (
"errors"
"source.toby3d.me/toby3d/home/internal/common"
)
type ResourceType string
@ -22,7 +24,7 @@ func (rt ResourceType) String() string {
return string(rt)
}
return "und"
return common.Und
}
func (rt ResourceType) GoString() string {

View File

@ -23,14 +23,14 @@ func TestDo(t *testing.T) {
expect := &domain.Server{
Headers: []domain.Header{{
Path: "/**",
Headers: map[string]string{
Values: map[string]string{
"Link": `<https://auth.example.com/>; rel="indieauth-metadata", ` +
`<https://pub.example.com/>; rel="micropub"`,
"X-Koroko": "Ya-ha-ha!",
},
}, {
Path: "/foo/bar",
Headers: map[string]string{
Values: map[string]string{
"X-Testing": `sample-text`,
},
}},

12
main.go
View File

@ -9,7 +9,6 @@ import (
"errors"
"flag"
"log"
"net/http"
"os"
"os/signal"
"path/filepath"
@ -24,17 +23,6 @@ import (
"source.toby3d.me/toby3d/home/internal/domain"
)
type (
App struct {
server *http.Server
}
Context struct {
Site *domain.Site
Page *domain.Page
}
)
var (
config = new(domain.Config)
logger = log.New(os.Stdout, "home\t", log.Lmsgprefix|log.LstdFlags|log.LUTC)