apidump

package
v0.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cmd = &cobra.Command{
	Use:          "apidump",
	Short:        "Capture requests/responses from network traffic.",
	Long:         "Capture and store a sequence of requests/responses to a service by observing network traffic.",
	SilenceUsage: true,
	RunE: func(cmd *cobra.Command, _ []string) error {
		tags, err := tags.FromPairs(tagsFlag)
		if err != nil {
			return errors.Wrap(err, "failed to parse tags")
		}

		plugins, err := pluginloader.Load(pluginsFlag)
		if err != nil {
			return errors.Wrap(err, "failed to load plugins")
		}

		if outFlag.IsSet() == (serviceFlag != "") {
			return errors.New("exactly one of --out or --service must be specified")
		}

		if serviceFlag != "" {
			uri, err := akiuri.Parse(akiuri.Scheme + serviceFlag)
			if err != nil {
				return errors.Wrap(err, "bad service name")
			}
			outFlag.AkitaURI = &uri
		}

		args := apidump.Args{
			ClientID:        akid.GenerateClientID(),
			Domain:          akiflag.Domain,
			Out:             outFlag,
			Tags:            tags,
			SampleRate:      sampleRateFlag,
			Interfaces:      interfacesFlag,
			Filter:          filterFlag,
			PathExclusions:  pathExclusionsFlag,
			HostExclusions:  hostExclusionsFlag,
			ExecCommand:     execCommandFlag,
			ExecCommandUser: execCommandUserFlag,
			Plugins:         plugins,
		}
		if err := apidump.Run(args); err != nil {
			return cmderr.AkitaErr{Err: err}
		}
		return nil
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL