mirror of
https://github.com/caddyserver/caddy.git
synced 2025-06-05 20:26:52 +08:00
pass golint
pass all tests respond to maintainer comments reinstate assignment of t correct typo correct typo pass linter some more
This commit is contained in:
@ -78,7 +78,7 @@ type Rule struct {
|
||||
Resources []string
|
||||
}
|
||||
|
||||
// PasswordMatcher determines whether a password mathes a rule.
|
||||
// PasswordMatcher determines whether a password matches a rule.
|
||||
type PasswordMatcher func(pw string) bool
|
||||
|
||||
var (
|
||||
@ -86,6 +86,7 @@ var (
|
||||
htpasswordsMu sync.Mutex
|
||||
)
|
||||
|
||||
// GetHtpasswdMatcher matches password rules.
|
||||
func GetHtpasswdMatcher(filename, username, siteRoot string) (PasswordMatcher, error) {
|
||||
filename = filepath.Join(siteRoot, filename)
|
||||
htpasswordsMu.Lock()
|
||||
|
@ -223,7 +223,7 @@ func TestBrowseJson(t *testing.T) {
|
||||
listing := Listing{Items: fileinfos} // this listing will be used for validation inside the tests
|
||||
|
||||
tests := []struct {
|
||||
QueryUrl string
|
||||
QueryURL string
|
||||
SortBy string
|
||||
OrderBy string
|
||||
Limit int
|
||||
@ -263,7 +263,7 @@ func TestBrowseJson(t *testing.T) {
|
||||
|
||||
for i, test := range tests {
|
||||
var marsh []byte
|
||||
req, err := http.NewRequest("GET", "/photos"+test.QueryUrl, nil)
|
||||
req, err := http.NewRequest("GET", "/photos"+test.QueryURL, nil)
|
||||
|
||||
if err == nil && test.shouldErr {
|
||||
t.Errorf("Test %d didn't error, but it should have", i)
|
||||
|
@ -278,6 +278,6 @@ type Rule struct {
|
||||
|
||||
var (
|
||||
headerNameReplacer = strings.NewReplacer(" ", "_", "-", "_")
|
||||
|
||||
// ErrIndexMissingSplit describes an index configuration error.
|
||||
ErrIndexMissingSplit = errors.New("configured index file(s) must include split value")
|
||||
)
|
||||
|
@ -30,44 +30,75 @@ import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
// FCGIListenSockFileno describes listen socket file number.
|
||||
const FCGIListenSockFileno uint8 = 0
|
||||
|
||||
// FCGIHeaderLen describes header length.
|
||||
const FCGIHeaderLen uint8 = 8
|
||||
|
||||
// Version1 describes the version.
|
||||
const Version1 uint8 = 1
|
||||
|
||||
// FCGINullRequestID describes the null request ID.
|
||||
const FCGINullRequestID uint8 = 0
|
||||
|
||||
// FCGIKeepConn describes keep connection mode.
|
||||
const FCGIKeepConn uint8 = 1
|
||||
const doubleCRLF = "\r\n\r\n"
|
||||
|
||||
const (
|
||||
// BeginRequest is the begin request flag.
|
||||
BeginRequest uint8 = iota + 1
|
||||
// AbortRequest is the abort request flag.
|
||||
AbortRequest
|
||||
// EndRequest is the end request flag.
|
||||
EndRequest
|
||||
// Params is the parameters flag.
|
||||
Params
|
||||
// Stdin is the standard input flag.
|
||||
Stdin
|
||||
// Stdout is the standard output flag.
|
||||
Stdout
|
||||
// Stderr is the standard error flag.
|
||||
Stderr
|
||||
// Data is the data flag.
|
||||
Data
|
||||
// GetValues is the get values flag.
|
||||
GetValues
|
||||
// GetValuesResult is the get values result flag.
|
||||
GetValuesResult
|
||||
// UnknownType is the unknown type flag.
|
||||
UnknownType
|
||||
// MaxType is the maximum type flag.
|
||||
MaxType = UnknownType
|
||||
)
|
||||
|
||||
const (
|
||||
// Responder is the responder flag.
|
||||
Responder uint8 = iota + 1
|
||||
// Authorizer is the authorizer flag.
|
||||
Authorizer
|
||||
// Filter is the filter flag.
|
||||
Filter
|
||||
)
|
||||
|
||||
const (
|
||||
// RequestComplete is the completed request flag.
|
||||
RequestComplete uint8 = iota
|
||||
// CantMultiplexConns is the multiplexed connections flag.
|
||||
CantMultiplexConns
|
||||
// Overloaded is the overloaded flag.
|
||||
Overloaded
|
||||
// UnknownRole is the unknown role flag.
|
||||
UnknownRole
|
||||
)
|
||||
|
||||
const (
|
||||
MaxConns string = "MAX_CONNS"
|
||||
MaxRequests string = "MAX_REQS"
|
||||
// MaxConns is the maximum connections flag.
|
||||
MaxConns string = "MAX_CONNS"
|
||||
// MaxRequests is the maximum requests flag.
|
||||
MaxRequests string = "MAX_REQS"
|
||||
// MultiplexConns is the multiplex connections flag.
|
||||
MultiplexConns string = "MPXS_CONNS"
|
||||
)
|
||||
|
||||
|
@ -193,8 +193,8 @@ func generateRandFile(size int) (p string, m string) {
|
||||
|
||||
func DisabledTest(t *testing.T) {
|
||||
// TODO: test chunked reader
|
||||
|
||||
t_ = t
|
||||
|
||||
rand.Seed(time.Now().UTC().UnixNano())
|
||||
|
||||
// server
|
||||
|
@ -11,7 +11,7 @@ import (
|
||||
)
|
||||
|
||||
var testDir = filepath.Join(os.TempDir(), "caddy_testdir")
|
||||
var customErr = errors.New("Custom Error")
|
||||
var ErrCustom = errors.New("Custom Error")
|
||||
|
||||
// testFiles is a map with relative paths to test files as keys and file content as values.
|
||||
// The map represents the following structure:
|
||||
@ -32,8 +32,8 @@ var testFiles = map[string]string{
|
||||
// TestServeHTTP covers positive scenarios when serving files.
|
||||
func TestServeHTTP(t *testing.T) {
|
||||
|
||||
beforeServeHttpTest(t)
|
||||
defer afterServeHttpTest(t)
|
||||
beforeServeHTTPTest(t)
|
||||
defer afterServeHTTPTest(t)
|
||||
|
||||
fileserver := FileServer(http.Dir(testDir), []string{"hidden.html"})
|
||||
|
||||
@ -137,8 +137,8 @@ func TestServeHTTP(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
// beforeServeHttpTest creates a test directory with the structure, defined in the variable testFiles
|
||||
func beforeServeHttpTest(t *testing.T) {
|
||||
// beforeServeHTTPTest creates a test directory with the structure, defined in the variable testFiles
|
||||
func beforeServeHTTPTest(t *testing.T) {
|
||||
// make the root test dir
|
||||
err := os.Mkdir(testDir, os.ModePerm)
|
||||
if err != nil {
|
||||
@ -176,8 +176,8 @@ func beforeServeHttpTest(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
// afterServeHttpTest removes the test dir and all its content
|
||||
func afterServeHttpTest(t *testing.T) {
|
||||
// afterServeHTTPTest removes the test dir and all its content
|
||||
func afterServeHTTPTest(t *testing.T) {
|
||||
// cleans up everything under the test dir. No need to clean the individual files.
|
||||
err := os.RemoveAll(testDir)
|
||||
if err != nil {
|
||||
@ -232,9 +232,9 @@ func TestServeHTTPFailingFS(t *testing.T) {
|
||||
expectedErr: os.ErrPermission,
|
||||
},
|
||||
{
|
||||
fsErr: customErr,
|
||||
fsErr: ErrCustom,
|
||||
expectedStatus: http.StatusServiceUnavailable,
|
||||
expectedErr: customErr,
|
||||
expectedErr: ErrCustom,
|
||||
expectedHeaders: map[string]string{"Retry-After": "5"},
|
||||
},
|
||||
}
|
||||
@ -293,9 +293,9 @@ func TestServeHTTPFailingStat(t *testing.T) {
|
||||
expectedErr: os.ErrPermission,
|
||||
},
|
||||
{
|
||||
statErr: customErr,
|
||||
statErr: ErrCustom,
|
||||
expectedStatus: http.StatusInternalServerError,
|
||||
expectedErr: customErr,
|
||||
expectedErr: ErrCustom,
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ type ExtFilter struct {
|
||||
Exts Set
|
||||
}
|
||||
|
||||
// extWildCard is the wildcard for extensions.
|
||||
// ExtWildCard is the wildcard for extensions.
|
||||
const ExtWildCard = "*"
|
||||
|
||||
// ShouldCompress checks if the request file extension matches any
|
||||
|
@ -51,9 +51,14 @@ type Rule struct {
|
||||
}
|
||||
|
||||
const (
|
||||
DefaultLogFilename = "access.log"
|
||||
CommonLogFormat = `{remote} ` + CommonLogEmptyValue + ` [{when}] "{method} {uri} {proto}" {status} {size}`
|
||||
// DefaultLogFilename is the default log filename.
|
||||
DefaultLogFilename = "access.log"
|
||||
// CommonLogFormat is the common log format.
|
||||
CommonLogFormat = `{remote} ` + CommonLogEmptyValue + ` [{when}] "{method} {uri} {proto}" {status} {size}`
|
||||
// CommonLogEmptyValue is the common empty log value.
|
||||
CommonLogEmptyValue = "-"
|
||||
CombinedLogFormat = CommonLogFormat + ` "{>Referer}" "{>User-Agent}"`
|
||||
DefaultLogFormat = CommonLogFormat
|
||||
// CombinedLogFormat is the combined log format.
|
||||
CombinedLogFormat = CommonLogFormat + ` "{>Referer}" "{>User-Agent}"`
|
||||
// DefaultLogFormat is the default log format.
|
||||
DefaultLogFormat = CommonLogFormat
|
||||
)
|
||||
|
@ -14,10 +14,13 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultTemplate = "defaultTemplate"
|
||||
// DefaultTemplate is the default template.
|
||||
DefaultTemplate = "defaultTemplate"
|
||||
// DefaultStaticDir is the default static directory.
|
||||
DefaultStaticDir = "generated_site"
|
||||
)
|
||||
|
||||
// Data represents a markdown document.
|
||||
type Data struct {
|
||||
middleware.Context
|
||||
Doc map[string]string
|
||||
|
@ -4,20 +4,27 @@ import (
|
||||
"bytes"
|
||||
)
|
||||
|
||||
// SummaryRenderer represents a summary renderer.
|
||||
type SummaryRenderer struct{}
|
||||
|
||||
// Block-level callbacks
|
||||
|
||||
// BlockCode is the code tag callback.
|
||||
func (r SummaryRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string) {}
|
||||
|
||||
// BlockQuote is the quote tag callback.
|
||||
func (r SummaryRenderer) BlockQuote(out *bytes.Buffer, text []byte) {}
|
||||
|
||||
// BlockHtml is the HTML tag callback.
|
||||
func (r SummaryRenderer) BlockHtml(out *bytes.Buffer, text []byte) {}
|
||||
|
||||
// Header is the header tag callback.
|
||||
func (r SummaryRenderer) Header(out *bytes.Buffer, text func() bool, level int, id string) {}
|
||||
|
||||
// HRule is the horizontal rule tag callback.
|
||||
func (r SummaryRenderer) HRule(out *bytes.Buffer) {}
|
||||
|
||||
// List is the list tag callback.
|
||||
func (r SummaryRenderer) List(out *bytes.Buffer, text func() bool, flags int) {
|
||||
// TODO: This is not desired (we'd rather not write lists as part of summary),
|
||||
// but see this issue: https://github.com/russross/blackfriday/issues/189
|
||||
@ -28,8 +35,10 @@ func (r SummaryRenderer) List(out *bytes.Buffer, text func() bool, flags int) {
|
||||
out.Write([]byte{' '})
|
||||
}
|
||||
|
||||
// ListItem is the list item tag callback.
|
||||
func (r SummaryRenderer) ListItem(out *bytes.Buffer, text []byte, flags int) {}
|
||||
|
||||
// Paragraph is the paragraph tag callback.
|
||||
func (r SummaryRenderer) Paragraph(out *bytes.Buffer, text func() bool) {
|
||||
marker := out.Len()
|
||||
if !text() {
|
||||
@ -38,68 +47,93 @@ func (r SummaryRenderer) Paragraph(out *bytes.Buffer, text func() bool) {
|
||||
out.Write([]byte{' '})
|
||||
}
|
||||
|
||||
// Table is the table tag callback.
|
||||
func (r SummaryRenderer) Table(out *bytes.Buffer, header []byte, body []byte, columnData []int) {}
|
||||
|
||||
// TableRow is the table row tag callback.
|
||||
func (r SummaryRenderer) TableRow(out *bytes.Buffer, text []byte) {}
|
||||
|
||||
// TableHeaderCell is the table header cell tag callback.
|
||||
func (r SummaryRenderer) TableHeaderCell(out *bytes.Buffer, text []byte, flags int) {}
|
||||
|
||||
// TableCell is the table cell tag callback.
|
||||
func (r SummaryRenderer) TableCell(out *bytes.Buffer, text []byte, flags int) {}
|
||||
|
||||
// Footnotes is the foot notes tag callback.
|
||||
func (r SummaryRenderer) Footnotes(out *bytes.Buffer, text func() bool) {}
|
||||
|
||||
// FootnoteItem is the footnote item tag callback.
|
||||
func (r SummaryRenderer) FootnoteItem(out *bytes.Buffer, name, text []byte, flags int) {}
|
||||
|
||||
// TitleBlock is the title tag callback.
|
||||
func (r SummaryRenderer) TitleBlock(out *bytes.Buffer, text []byte) {}
|
||||
|
||||
// Span-level callbacks
|
||||
|
||||
// AutoLink is the autolink tag callback.
|
||||
func (r SummaryRenderer) AutoLink(out *bytes.Buffer, link []byte, kind int) {}
|
||||
|
||||
// CodeSpan is the code span tag callback.
|
||||
func (r SummaryRenderer) CodeSpan(out *bytes.Buffer, text []byte) {
|
||||
out.Write([]byte("`"))
|
||||
out.Write(text)
|
||||
out.Write([]byte("`"))
|
||||
}
|
||||
|
||||
// DoubleEmphasis is the double emphasis tag callback.
|
||||
func (r SummaryRenderer) DoubleEmphasis(out *bytes.Buffer, text []byte) {
|
||||
out.Write(text)
|
||||
}
|
||||
|
||||
// Emphasis is the emphasis tag callback.
|
||||
func (r SummaryRenderer) Emphasis(out *bytes.Buffer, text []byte) {
|
||||
out.Write(text)
|
||||
}
|
||||
|
||||
// Image is the image tag callback.
|
||||
func (r SummaryRenderer) Image(out *bytes.Buffer, link []byte, title []byte, alt []byte) {}
|
||||
|
||||
// LineBreak is the line break tag callback.
|
||||
func (r SummaryRenderer) LineBreak(out *bytes.Buffer) {}
|
||||
|
||||
// Link is the link tag callback.
|
||||
func (r SummaryRenderer) Link(out *bytes.Buffer, link []byte, title []byte, content []byte) {
|
||||
out.Write(content)
|
||||
}
|
||||
|
||||
// RawHtmlTag is the raw HTML tag callback.
|
||||
func (r SummaryRenderer) RawHtmlTag(out *bytes.Buffer, tag []byte) {}
|
||||
|
||||
// TripleEmphasis is the triple emphasis tag callback.
|
||||
func (r SummaryRenderer) TripleEmphasis(out *bytes.Buffer, text []byte) {
|
||||
out.Write(text)
|
||||
}
|
||||
|
||||
// StrikeThrough is the strikethrough tag callback.
|
||||
func (r SummaryRenderer) StrikeThrough(out *bytes.Buffer, text []byte) {}
|
||||
|
||||
// FootnoteRef is the footnote ref tag callback.
|
||||
func (r SummaryRenderer) FootnoteRef(out *bytes.Buffer, ref []byte, id int) {}
|
||||
|
||||
// Low-level callbacks
|
||||
|
||||
// Entity callback.
|
||||
func (r SummaryRenderer) Entity(out *bytes.Buffer, entity []byte) {
|
||||
out.Write(entity)
|
||||
}
|
||||
|
||||
// NormalText callback.
|
||||
func (r SummaryRenderer) NormalText(out *bytes.Buffer, text []byte) {
|
||||
out.Write(text)
|
||||
}
|
||||
|
||||
// Header and footer
|
||||
|
||||
// DocumentHeader callback.
|
||||
func (r SummaryRenderer) DocumentHeader(out *bytes.Buffer) {}
|
||||
|
||||
// DocumentFooter callback.
|
||||
func (r SummaryRenderer) DocumentFooter(out *bytes.Buffer) {}
|
||||
|
||||
// GetFlags returns zero.
|
||||
func (r SummaryRenderer) GetFlags() int { return 0 }
|
||||
|
Reference in New Issue
Block a user