Skip to content
Merged

v1.3.0 #1472

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
f95e3f6
exit with err
dogancanbakir Sep 1, 2025
fff031b
Merge pull request #1388 from projectdiscovery/142_exit_with_err
dogancanbakir Sep 1, 2025
f0448ac
bump utils version
dogancanbakir Sep 3, 2025
6c3447c
fix lint errs
dogancanbakir Sep 3, 2025
7c1eba0
minor
dogancanbakir Sep 3, 2025
e3c730d
Merge pull request #1393 from projectdiscovery/1392_bump_utils_version
dogancanbakir Sep 3, 2025
c01e3f1
feat(output): Add `-eof` and `-lof` flags for JSON output filtering
hanXen Sep 3, 2025
6e5321d
updating readme
Mzack9999 Sep 3, 2025
927edaf
Merge pull request #1390 from hanXen/feat/dynamic-filtering
Mzack9999 Sep 3, 2025
839f2d3
Add -no-default-ext-filter option
mjkim610 Aug 31, 2025
44cb3a3
Merge pull request #1386 from mjkim610/disable-default-denylist
Mzack9999 Sep 6, 2025
b6b87d4
chore(deps): bump actions/stale from 9 to 10
dependabot[bot] Sep 8, 2025
8f31d6b
chore(deps): bump github.com/projectdiscovery/ratelimit
dependabot[bot] Sep 8, 2025
d4593bc
chore(deps): bump golang from 1.25.0-alpine to 1.25.1-alpine
dependabot[bot] Sep 8, 2025
ac84ec4
chore(deps): bump actions/setup-go from 4 to 6
dependabot[bot] Sep 8, 2025
f325692
chore(deps): bump actions/github-script from 7 to 8
dependabot[bot] Sep 8, 2025
87bd27c
chore(deps): bump github.com/projectdiscovery/dsl from 0.5.1 to 0.6.0
dependabot[bot] Sep 8, 2025
c24e007
chore(deps): bump github.com/projectdiscovery/wappalyzergo
dependabot[bot] Sep 8, 2025
6ee2911
chore(deps): bump github.com/projectdiscovery/fastdialer
dependabot[bot] Sep 8, 2025
01aee44
chore(deps): bump github.com/projectdiscovery/retryabledns
dependabot[bot] Sep 8, 2025
e25f599
guard resp
dogancanbakir Sep 10, 2025
5caa0a3
Merge pull request #1407 from projectdiscovery/1406_guard_resp
Mzack9999 Sep 10, 2025
a6383cb
Create new err when err is nil at navigateRequest()
mjkim610 Sep 10, 2025
f2e08c5
Merge pull request #1395 from mjkim610/update-gitignore
mjkim610 Sep 11, 2025
c6af1bb
Handle incorrect use of -kf early (#1359)
mjkim610 Sep 11, 2025
ce7f13c
Merge pull request #1409 from mjkim610/fix-panic-resp-err-both-nil
dogancanbakir Sep 11, 2025
30ec9c4
chore(deps): bump github.com/projectdiscovery/retryablehttp-go
dependabot[bot] Sep 11, 2025
462965a
chore(deps): bump github.com/projectdiscovery/networkpolicy
dependabot[bot] Sep 11, 2025
fb61784
refactor(output): update `formatJSON` to use `OrderedMap`
hanXen Sep 16, 2025
8bb7205
chore(deps): bump github.com/projectdiscovery/wappalyzergo
dependabot[bot] Sep 15, 2025
95d212e
chore(deps): bump github.com/projectdiscovery/hmap from 0.0.93 to 0.0.94
dependabot[bot] Sep 15, 2025
dedd6c4
chore(deps): bump github.com/projectdiscovery/fastdialer
dependabot[bot] Sep 15, 2025
a22618d
chore(deps): bump github.com/projectdiscovery/retryablehttp-go
dependabot[bot] Sep 17, 2025
2b1abd7
chore(deps): bump github.com/projectdiscovery/dsl from 0.6.0 to 0.7.0
dependabot[bot] Sep 17, 2025
8aa669e
Add crawl depth for each entry in verbose logs
mjkim610 Sep 15, 2025
f310139
Merge branch 'dev' into refactor/ordmap-support
dogancanbakir Oct 1, 2025
04827a9
chore(deps): bump github.com/projectdiscovery/networkpolicy
dependabot[bot] Sep 22, 2025
24f68ec
chore(deps): bump github.com/projectdiscovery/fastdialer
dependabot[bot] Sep 22, 2025
d11d1b3
chore(deps): bump github.com/projectdiscovery/retryablehttp-go
dependabot[bot] Sep 29, 2025
809a6d9
chore(deps): bump github.com/projectdiscovery/gologger
dependabot[bot] Sep 29, 2025
0247870
fix(crawl): onclick event javascript check url
zsbahtiar Oct 5, 2025
d45a61e
refactor(crawl): update the navReq Depth to depth
zsbahtiar Oct 5, 2025
1835e44
feat(options): add MaxOnclickLinks
zsbahtiar Oct 5, 2025
79d5d5b
feat(options): add default value MaxOnclickLinks
zsbahtiar Oct 5, 2025
554e138
refactor(crawl): limited loop processing by MaxOnclickLinks
zsbahtiar Oct 5, 2025
9f08c2b
fix(crawl): fix the PageFrameNavigated event listener leak
zsbahtiar Oct 5, 2025
b924fc8
Merge branch 'dev' into pr/1417
Mzack9999 Oct 6, 2025
4637e53
utils bump
Mzack9999 Oct 6, 2025
bac0536
Merge pull request #1417 from hanXen/refactor/ordmap-support
Mzack9999 Oct 6, 2025
00f90fb
chore(deps): bump github.com/projectdiscovery/wappalyzergo
dependabot[bot] Oct 6, 2025
45fc686
chore(deps): bump github.com/projectdiscovery/gologger
dependabot[bot] Oct 6, 2025
acb00bf
chore(deps): bump github.com/projectdiscovery/fastdialer
dependabot[bot] Oct 6, 2025
37e52d7
chore(deps): bump github.com/projectdiscovery/retryablehttp-go
dependabot[bot] Oct 6, 2025
87a97b9
chore(deps): bump github.com/projectdiscovery/hmap from 0.0.94 to 0.0.95
dependabot[bot] Oct 8, 2025
2c02baa
chore(deps): bump github.com/projectdiscovery/dsl from 0.7.0 to 0.7.2
dependabot[bot] Oct 8, 2025
fdadf9d
use sync slice
Mzack9999 Oct 8, 2025
ecc2c91
optimization
Mzack9999 Oct 8, 2025
caeb1ac
adding original page URL
Mzack9999 Oct 8, 2025
80abbb1
Merge pull request #1427 from zsbahtiar/fix/event-onclick-not-detect
Mzack9999 Oct 8, 2025
64a99ad
Merge pull request #1418 from mjkim610/add-verbose-logs
Mzack9999 Oct 9, 2025
72858d1
fix(scope): -no-scope now disables only scopeDNS validation to match doc
Deamhan Oct 31, 2025
1a6662d
fix(scope): added test to cover a new behaviour
Deamhan Oct 31, 2025
986d13c
fix(scope): updated go doc for Validate method reflecting the changes
Deamhan Nov 1, 2025
e35a0d5
fix(scope): added missing docstrings to match the coverage criteria
Deamhan Nov 1, 2025
cc752ea
fix(scope): added doc strings to existing tests
Deamhan Nov 1, 2025
097fb5d
fix(crawling): depth filtering should take place before uniqueness check
Deamhan Nov 2, 2025
ac851f6
fix(crawling): added doc strings for entire file to increase the cove…
Deamhan Nov 2, 2025
cc4ea51
panic: runtime error: invalid memory address or nil pointer dereference
zzdboy Nov 19, 2025
17c69ad
Merge pull request #1 from zzdboy/zzdboy-patch-1
zzdboy Nov 19, 2025
b4883fb
Merge branch 'dev' into pr/1460
Mzack9999 Nov 24, 2025
e67e6b2
lint
Mzack9999 Nov 24, 2025
8b00abc
Merge pull request #1460 from zzdboy/main
Mzack9999 Nov 24, 2025
b764eb7
chore(deps): bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
5bd9ca3
chore(deps): bump golang from 1.25.1-alpine to 1.25.4-alpine
dependabot[bot] Nov 10, 2025
2f5eb2b
chore(deps): bump github.com/projectdiscovery/networkpolicy
dependabot[bot] Oct 27, 2025
cee3ea3
chore(deps): bump github.com/projectdiscovery/gologger
dependabot[bot] Oct 20, 2025
11581d3
chore(deps): bump alpine from 3.22.1 to 3.22.2
dependabot[bot] Oct 13, 2025
ed84b4c
chore(deps): bump github/codeql-action from 2 to 4
dependabot[bot] Oct 13, 2025
fe95733
chore(deps): bump github.com/projectdiscovery/retryablehttp-go
dependabot[bot] Nov 27, 2025
9d591fd
Merge branch 'dev' into pr/1455
Mzack9999 Nov 28, 2025
be01fe6
Update release-test.yml
Mzack9999 Nov 28, 2025
eafee57
revert changes of goreleaser
Mzack9999 Nov 28, 2025
dfb3ae7
using release from dev
Mzack9999 Nov 28, 2025
3fc8b29
Merge pull request #1455 from Deamhan/depth_unique_order_fix
Mzack9999 Nov 28, 2025
803e02b
Merge pull request #1454 from Deamhan/dev
Mzack9999 Nov 28, 2025
cc001f0
Merge pull request #1450 from projectdiscovery/dependabot/go_modules/…
Mzack9999 Nov 28, 2025
108699a
chore(deps): bump github.com/projectdiscovery/dsl from 0.7.2 to 0.8.2
dependabot[bot] Nov 28, 2025
a54ef06
Merge pull request #1452 from projectdiscovery/dependabot/go_modules/…
Mzack9999 Nov 28, 2025
8683ed5
bump version
dogancanbakir Dec 1, 2025
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
6 changes: 3 additions & 3 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
if: "${{ !endsWith(github.actor, '[bot]') }}"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: projectdiscovery/actions/setup/go@v1
- uses: projectdiscovery/actions/golangci-lint@v1

Expand All @@ -28,12 +28,12 @@ jobs:
go-version: [1.24.x]
steps:
- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v6
with:
go-version: ${{ matrix.go-version }}

- name: Check out code
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Test
run: go test ./...
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v4

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v4
2 changes: 1 addition & 1 deletion .github/workflows/compat-checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: projectdiscovery/actions/setup/go/compat-checks@v1
2 changes: 1 addition & 1 deletion .github/workflows/dep-auto-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
token: ${{ secrets.DEPENDABOT_PAT }}

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/discussion-triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Add initial response to discussions
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
const { discussion } = context.payload;
Expand Down Expand Up @@ -64,7 +64,7 @@ jobs:
}

- name: Auto-label potential bug reports
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
const { discussion } = context.payload;
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerhub-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest-16-cores
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Get Github tag
id: meta
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/functional-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v6
with:
go-version: 1.24.x

- name: Check out code
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Functional Tests
run: |
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/release-binary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
runs-on: macos-latest
steps:
- name: "Check out code"
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: "Set up Go"
uses: actions/setup-go@v4
uses: actions/setup-go@v6
with:
go-version: 1.24.x
cache: true
Expand All @@ -34,12 +34,12 @@ jobs:
runs-on: windows-latest-8-cores
steps:
- name: "Check out code"
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: "Set up Go"
uses: actions/setup-go@v4
uses: actions/setup-go@v6
with:
go-version: 1.24.x
cache: true
Expand All @@ -57,12 +57,12 @@ jobs:
runs-on: ubuntu-latest-16-cores
steps:
- name: "Check out code"
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: "Set up Go"
uses: actions/setup-go@v4
uses: actions/setup-go@v6
with:
go-version: 1.24.x
cache: true
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/release-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: macos-latest
steps:
- name: "Check out code"
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand All @@ -32,12 +32,12 @@ jobs:
runs-on: ubuntu-latest-16-cores
steps:
- name: "Check out code"
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v6
with:
go-version: 1.24.x

Expand All @@ -57,12 +57,12 @@ jobs:
runs-on: windows-latest-8-cores
steps:
- name: "Check out code"
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v6
with:
go-version: 1.24.x

Expand All @@ -72,4 +72,4 @@ jobs:
args: --config=.goreleaser/windows.yml
workdir: .
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
4 changes: 2 additions & 2 deletions .github/workflows/security-crawl-maze-score.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ jobs:
runs-on: ubuntu-latest-16-cores
steps:
- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v6
with:
go-version: 1.24.x

- name: Check out code
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Build
run: go build .
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v9
- uses: actions/stale@v10
with:
days-before-stale: 90
days-before-close: 7
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/workflow-monitor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check Discussion vs Issue Activity
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
const oneWeekAgo = new Date();
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@ katana_*/
dist/

.vscode
.devcontainer
.devcontainer
.DS_Store
.idea
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
FROM golang:1.25.0-alpine AS build-env
FROM golang:1.25.4-alpine AS build-env
RUN apk add --no-cache git gcc musl-dev
WORKDIR /app
COPY . /app
RUN go mod download
RUN go build ./cmd/katana

FROM alpine:3.22.1
FROM alpine:3.22.2
RUN apk add --no-cache bind-tools ca-certificates chromium
COPY --from=build-env /app/katana /usr/local/bin/

Expand Down
69 changes: 51 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,15 +166,16 @@ SCOPE:
-do, -display-out-scope display external endpoint from scoped crawling

FILTER:
-mr, -match-regex string[] regex or list of regex to match on output url (cli, file)
-fr, -filter-regex string[] regex or list of regex to filter on output url (cli, file)
-f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir) (Deprecated: use -output-template instead)
-sf, -store-field string field to store in per-host output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir)
-em, -extension-match string[] match output for given extension (eg, -em php,html,js)
-ef, -extension-filter string[] filter output for given extension (eg, -ef png,css)
-mdc, -match-condition string match response with dsl based condition
-fdc, -filter-condition string filter response with dsl based condition
-duf, -disable-unique-filter disable duplicate content filtering
-mr, -match-regex string[] regex or list of regex to match on output url (cli, file)
-fr, -filter-regex string[] regex or list of regex to filter on output url (cli, file)
-f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir) (Deprecated: use -output-template instead)
-sf, -store-field string field to store in per-host output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir)
-em, -extension-match string[] match output for given extension (eg, -em php,html,js)
-ef, -extension-filter string[] filter output for given extension (eg, -ef png,css)
-ndef, -no-default-ext-filter bool remove default extensions from the filter list
-mdc, -match-condition string match response with dsl based condition
-fdc, -filter-condition string filter response with dsl based condition
-duf, -disable-unique-filter disable duplicate content filtering

RATE-LIMIT:
-c, -concurrency int number of concurrent fetchers to use (default 10)
Expand All @@ -196,6 +197,8 @@ OUTPUT:
-sfd, -store-field-dir string store per-host field to custom directory
-or, -omit-raw omit raw requests/responses from jsonl output
-ob, -omit-body omit response body from jsonl output
-lof, -list-output-fields list available fields for jsonl output format
-eof, -exclude-output-fields exclude fields from jsonl output
-j, -jsonl write output in jsonl format
-nc, -no-color disable output content coloring (ANSI escape codes)
-silent display output only
Expand Down Expand Up @@ -731,6 +734,15 @@ Crawl output can be easily filtered for specific extension using `-ef` option wh

```
katana -u https://tesla.com -silent -ef css,txt,md

```
*`-no-default-ext-filter`*
---

Katana filters several extensions by default. This can be disabled with the `-ndef` option.

```
katana -u https://tesla.com -silent -ndef
```

*`-match-regex`*
Expand Down Expand Up @@ -777,15 +789,16 @@ katana -h filter

Flags:
FILTER:
-mr, -match-regex string[] regex or list of regex to match on output url (cli, file)
-fr, -filter-regex string[] regex or list of regex to filter on output url (cli, file)
-f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir)
-sf, -store-field string field to store in per-host output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir)
-em, -extension-match string[] match output for given extension (eg, -em php,html,js)
-ef, -extension-filter string[] filter output for given extension (eg, -ef png,css)
-mdc, -match-condition string match response with dsl based condition
-fdc, -filter-condition string filter response with dsl based condition
-duf, -disable-unique-filter disable duplicate content filtering
-mr, -match-regex string[] regex or list of regex to match on output url (cli, file)
-fr, -filter-regex string[] regex or list of regex to filter on output url (cli, file)
-f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir)
-sf, -store-field string field to store in per-host output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir)
-em, -extension-match string[] match output for given extension (eg, -em php,html,js)
-ef, -extension-filter string[] filter output for given extension (eg, -ef png,css)
-ndef, -no-default-ext-filter bool remove default extensions from the filter list
-mdc, -match-condition string match response with dsl based condition
-fdc, -filter-condition string filter response with dsl based condition
-duf, -disable-unique-filter disable duplicate content filtering
```


Expand Down Expand Up @@ -944,6 +957,24 @@ katana_response/www.iana.org/bfc096e6dd93b993ca8918bf4c08fdc707a70723.txt http:/

*`-store-response` option is not supported in `-headless` mode.*

*`-list-output-fields`*
----

The `-list-output-fields` or `-lof` flag displays all available fields that can be used in JSONL output format. This is useful for understanding what data is available when using custom output templates or when excluding specific fields.

```console
katana -lof
```

*`-exclude-output-fields`*
----

The `-exclude-output-fields` or `-eof` flag allows you to exclude specific fields from the JSONL output. This is useful for reducing output size or focusing on specific data by removing unwanted fields.

```console
katana -u https://example.com -jsonl -eof raw,body
```

Here are additional CLI options related to output -

```console
Expand All @@ -953,6 +984,8 @@ OUTPUT:
-o, -output string file to write output to
-sr, -store-response store http requests/responses
-srd, -store-response-dir string store http requests/responses to custom directory
-lof, -list-output-fields list available fields for jsonl output format
-eof, -exclude-output-fields exclude fields from jsonl output
-j, -json write output in JSONL(ines) format
-nc, -no-color disable output content coloring (ANSI escape codes)
-silent display output only
Expand Down
8 changes: 5 additions & 3 deletions cmd/integration-test/filters.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func (h *uniqueFilterIntegrationTest) Execute() error {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if r.URL.Path == "/" {
w.WriteHeader(http.StatusOK)
fmt.Fprint(w, `<html><body>
_, _ = fmt.Fprint(w, `<html><body>
<a href="/page1">Page 1</a>
<a href="/page2">Page 2</a>
<a href="/page3">Page 3</a>
Expand All @@ -67,7 +67,7 @@ func (h *uniqueFilterIntegrationTest) Execute() error {
} else {
w.WriteHeader(http.StatusNotFound)
// Return identical 404 content for all missing pages
fmt.Fprint(w, `<html><body><h1>404 - Page Not Found</h1></body></html>`)
_, _ = fmt.Fprint(w, `<html><body><h1>404 - Page Not Found</h1></body></html>`)
}
}))
defer server.Close()
Expand All @@ -89,7 +89,9 @@ func (h *uniqueFilterIntegrationTest) Execute() error {
if err != nil {
return fmt.Errorf("could not create runner: %v", err)
}
defer katanaRunner.Close()
defer func() {
_ = katanaRunner.Close()
}()

if err := katanaRunner.ExecuteCrawling(); err != nil {
return fmt.Errorf("could not execute crawling: %v", err)
Expand Down
Loading
Loading