MCPcopy
hub / github.com/projectdiscovery/katana / updateIndex

Function updateIndex

pkg/output/responses.go:69–100  ·  view source on GitHub ↗
(storeResponseFolder string, result *Result)

Source from the content-addressed store, hash-verified

67}
68
69func updateIndex(storeResponseFolder string, result *Result) error {
70 index, err := os.OpenFile(filepath.Join(storeResponseFolder, indexFile), os.O_APPEND|os.O_WRONLY, 0644)
71 if err != nil {
72 return err
73 }
74
75 defer func() {
76 if err := index.Close(); err != nil {
77 gologger.Error().Msgf("Error closing index: %v\n", err)
78 }
79 }()
80
81 builder := &bytes.Buffer{}
82
83 domain, err := getResponseHost(result.Request.URL)
84 if err != nil {
85 return err
86 }
87
88 builder.WriteString(getResponseFileName(storeResponseFolder, domain, result.Request.URL))
89 builder.WriteRune(' ')
90 builder.WriteString(result.Request.URL)
91 builder.WriteRune(' ')
92 builder.WriteString("(" + result.Response.Resp.Status + ")")
93 builder.WriteRune('\n')
94
95 if _, writeErr := index.Write(builder.Bytes()); writeErr != nil {
96 return errkit.Wrap(err, "output: could not update index")
97 }
98
99 return nil
100}

Callers 1

WriteMethod · 0.85

Calls 4

getResponseHostFunction · 0.85
getResponseFileNameFunction · 0.85
CloseMethod · 0.65
WriteMethod · 0.65

Tested by

no test coverage detected