mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-17 19:35:27 +00:00
* renaming var * Introducing shared execution context prototype * fixing field name * adding shared values propagation * adding shared context lock * add slice values normalization * adding integration tests * adding metadata support for dns * adding multi-protocol context sharing test * removing debug test files * moving contextargs around * adding comments * refactoring code - getter/setter for complex types - using pointers to avoid heap allocations
32 lines
661 B
Go
32 lines
661 B
Go
package contextargs
|
|
|
|
// Args is a generic map with helpers
|
|
type Args map[string]interface{}
|
|
|
|
// Set a key with value
|
|
func (args Args) Set(key string, value interface{}) {
|
|
args[key] = value
|
|
}
|
|
|
|
// Get the value associated to a key
|
|
func (args Args) Get(key string) (interface{}, bool) {
|
|
value, ok := args[key]
|
|
return value, ok
|
|
}
|
|
|
|
// Has verifies if the map contains the key
|
|
func (args Args) Has(key string) bool {
|
|
_, ok := args[key]
|
|
return ok
|
|
}
|
|
|
|
// IsEmpty verifies if the map is empty
|
|
func (Args Args) IsEmpty() bool {
|
|
return len(Args) == 0
|
|
}
|
|
|
|
// create a new args map instance
|
|
func newArgs() map[string]interface{} {
|
|
return make(map[string]interface{})
|
|
}
|