Francis Lavoie
ef4e0224a8
caddyfile: Fix comma edgecase in address parsing ( #6616 )
2024-10-10 20:26:59 +00:00
Francis Lavoie
2faeac0a10
chore: Use slices package where possible ( #6585 )
...
* chore: Use slices package where possible
* More, mostly using ContainsFunc
* Even more slice operations
2024-09-25 14:30:56 -06:00
Kévin Dunglas
2028da4e74
ci: build and test with Go 1.23 ( #6526 )
...
* chore: build and test with Go 1.23
* ci: bump golangci-lint to v1.60
* fix: make properly wrap errors
* ci: remove Go 1.21
2024-08-23 11:01:28 -06:00
a
aca4002fd8
caddyfile: Pass blocks to `import` for snippets ( #6130 )
...
* a
* a
* a
* a
* a
* a
2024-06-14 11:27:51 -06:00
Francis Lavoie
f6d2c293e7
caddyfile: Reject global request matchers earlier ( #6339 )
2024-05-23 20:06:16 -06:00
Francis Lavoie
feeb6af403
httpcaddyfile: Fix expression matcher shortcut in snippets ( #6288 )
2024-05-01 07:43:05 -04:00
Mohammed Al Sahaf
c6eb186064
run `golangci-lint run --fix --fast` ( #6270 )
2024-04-24 15:17:23 -06:00
Francis Lavoie
9cd472c031
caddyfile: Populate regexp matcher names by default ( #6145 )
...
* caddyfile: Populate regexp matcher names by default
* Some lint cleanup that my VSCode complained about
* Pass down matcher name through expression matcher
* Compat with #6113 : fix adapt test, set both styles in replacer
2024-04-17 12:19:14 -06:00
danish-mehmood
f4840cfeb8
caddyconfig: Use empty struct instead of bool in map ( close #6224 ) ( #6227 )
2024-04-08 17:12:35 -06:00
Francis Lavoie
1c4a807667
chore: Upgrade some dependencies ( #6221 )
2024-04-04 18:27:52 -04:00
bbaa
8bbf8ec629
caddyfile: Assert having a space after heredoc marker to simply check ( #6117 )
2024-02-20 12:29:20 +00:00
Aziz Rmadi
b893c8c5f8
caddyfile: Reject directives in the place of site addresses ( #6104 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2024-02-19 00:22:48 +00:00
Mohammed Al Sahaf
21744b6c4c
Revert "caddyfile: Reject long heredoc markers ( #6098 )" ( #6100 )
...
This reverts commit e7a534d0a3
.
2024-02-12 18:06:22 +00:00
Francis Lavoie
f9e11158bc
caddyauth: Rename `basicauth` to `basic_auth` ( #6092 )
2024-02-12 17:34:23 +00:00
Francis Lavoie
e7a534d0a3
caddyfile: Reject long heredoc markers ( #6098 )
...
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
2024-02-11 13:30:14 -05:00
Yolan Romailler
2fe69a828f
chore: enabling a few more linters ( #5961 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2024-01-25 15:24:58 +00:00
bbaa
c369df5c37
caddyfile: Correctly close the heredoc when the closing marker appears immediately ( #6062 )
2024-01-25 14:55:00 +00:00
bbaa
7c48b5fdbb
caddyfile: Switch to slices.Equal for better performance ( #6061 )
2024-01-25 14:46:08 +00:00
Francis Lavoie
750d0b8331
caddyfile: Normalize & flatten all unmarshalers ( #6037 )
2024-01-23 19:36:59 -05:00
bbaa
c0273f1f04
caddyfile: Add heredoc support to `fmt` command ( #6056 )
2024-01-22 02:24:49 +00:00
Aziz Rmadi
d9aded016c
caddyfile: Allow heredoc blank lines ( #6051 )
2024-01-18 22:57:18 -05:00
a
c839a98ff5
filesystem: Globally declared filesystems, `fs` directive ( #5833 )
2024-01-13 20:12:43 +00:00
WeidiDeng
1f60328e17
caddyfile: Fix variadic placeholder false positive when token contains `:` ( #5883 )
2023-10-13 02:28:20 -04:00
Francis Lavoie
7103ea096f
caddyfile: Fix case where heredoc marker is empty after newline ( #5769 )
...
Fixes `panic: runtime error: slice bounds out of range [:3] with capacity 2`
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2023-08-24 03:27:57 +00:00
Francis Lavoie
38a7b6b3d0
caddyfile: Adjust error formatting ( #5765 )
2023-08-20 08:51:03 -06:00
Francis Lavoie
10053f7570
caddyfile: Loosen heredoc parsing ( #5761 )
2023-08-19 10:32:32 +00:00
Jacob Gadikian
d6f86cccf5
ci: use gci linter ( #5708 )
...
* use gofmput to format code
* use gci to format imports
* reconfigure gci
* linter autofixes
* rearrange imports a little
* export GOOS=windows golangci-lint run ./... --fix
2023-08-14 09:41:15 -06:00
Jacob Gadikian
b32f265eca
ci: Use gofumpt to format code ( #5707 )
2023-08-07 19:40:31 +00:00
WeidiDeng
9f34383c02
caddyfile: check that matched key is not a substring of the replacement key ( #5685 )
2023-08-04 10:44:38 -06:00
WeidiDeng
bbe1952a59
caddyfile: Fix comparing if two tokens are on the same line ( #5626 )
...
* fix comparing if two tokens are on the same line
* compare tokens from copies when importing
2023-07-12 14:32:22 -06:00
WeidiDeng
9cde715525
caddyfile: Track import name instead of modifying filename ( #5540 )
...
* Merge branch 'master' into import_file_stack
* remove space in log key
2023-05-25 13:05:00 -06:00
WeidiDeng
cee4441cb1
caddyfile: Do not replace import tokens if they are part of a snippet ( #5539 )
...
* fix variadic placeholder in imported file which also imports
* fix tests.
* skip replacing args when imported token may be part of a snippet
2023-05-22 15:36:55 -06:00
Francis Lavoie
cbf16f6d9e
caddyhttp: Implement named routes, `invoke` directive ( #5107 )
...
* caddyhttp: Implement named routes, `invoke` directive
* gofmt
* Add experimental marker
* Adjust route compile comments
2023-05-16 15:27:52 +00:00
Francis Lavoie
53b6fab125
caddyfile: Stricter parsing, error for brace on new line ( #5505 )
2023-04-20 18:43:51 +00:00
Francis Lavoie
f3379f650a
caddyfile: Fix heredoc fuzz crasher, drop trailing newline ( #5404 )
...
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
2023-02-26 16:56:48 -05:00
Francis Lavoie
960150bb03
caddyfile: Implement heredoc support ( #5385 )
2023-02-26 00:34:27 +00:00
WeidiDeng
8bc05e598d
caddyfile: Implement variadics for import args placeholders ( #5249 )
...
* implement variadic placeholders
imported snippets reflect actual lines in file
* add import directive line number for imported snippets
add tests for parsing
* add realfile field to help debug import cycle detection.
* use file field to reflect import chain
* Switch syntax, deprecate old syntax, refactoring
- Moved the import args handling to a separate file
- Using {args[0:1]} syntax now
- Deprecate {args.*} syntax
- Use a replacer map for better control over the parsing
- Add plenty of warnings when invalid placeholders are detected
- Renaming variables, cleanup comments for readability
- More tests to cover edgecases I could think of
- Minor cleanup to snippet tracking in tokens, drop a redundant boolean field in tokens
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-02-16 17:08:36 -07:00
Emily Lange
bf54892a73
cmd: make `caddy fmt` hints more clear ( #5378 )
2023-02-16 16:34:12 -07:00
Y.Horie
5805b3ca11
cmd: `caddy fmt` return code is 1 if not formatted ( #5297 )
...
* cmd: Fix caddy fmt if input isn't formatted
* Fixes #5294
* return exit 1 with an error message
* cmd: Use formattingDifference for caddy fmt
* #5294
* expose caddyfile.formattingDifference
2023-01-21 21:28:37 -07:00
Y.Horie
d6d7511699
httpcaddyfile: Warn on importing empty file; skip dotfiles ( #5320 )
...
* httpcaddyfile: Change the parse rules when empty file or dotfile with a glob.
* Fixes #5295
* Empty file should just log a warning, and result in no tokens.
* The last segment of the path is '*', it should skip any dotfiles.
* The last segment of the path is '.*', it should read all dotfiles in a dir.
* httpcaddyfile: Regard empty files as import files which include only white space.
2023-01-21 10:22:36 -07:00
Y.Horie
62e8b21724
chore: Fix caddyfile.replaceEnvVars return ( #5311 )
2023-01-17 06:57:42 -05:00
Matthew Holt
49b7a25264
Fix #4169 (correct e6c58fd
)
2022-09-15 14:13:58 -06:00
Matthew Holt
e6c58fdc08
caddyfile: Prevent infinite nesting on fmt ( fix #4175 )
2022-09-15 14:12:53 -06:00
Matthew Holt
73d4a8ba02
map: Coerce val to string, fix #4987
...
Also prevent infinite recursion, and enforce placeholder syntax.
2022-09-01 21:15:44 -06:00
Francis Lavoie
7d5108d132
httpcaddyfile: Add shortcut for expression matchers ( #4976 )
2022-09-01 23:12:37 -04:00
Francis Lavoie
141872ed80
chore: Bump up to Go 1.19, minimum 1.18 ( #4925 )
2022-08-02 16:39:09 -04:00
WingLim
1e0cdc54f8
core: Windows service integration ( #4790 )
...
Co-authored-by: Matthew Holt <mholt@users.noreply.github.com>
2022-07-29 14:06:54 -06:00
Francis Lavoie
3a1e0dbf47
httpcaddyfile: Deprecate paths in site addresses; use zap logs ( #4728 )
2022-04-25 10:12:10 -06:00
Matthew Holt
db62942d63
Make file modes consistent
...
No need to have executable bit on .go or .txt files
2022-04-21 15:06:55 -06:00
Francis Lavoie
134b805644
caddyfile: Prevent bad block opening tokens ( #4655 )
...
* caddyfile: Prevent bad block opening tokens
* Clarifying comments
2022-03-23 12:34:13 -06:00