Skip to content

asecurityteam/component-accesslog

Repository files navigation

component-accesslog - Settings component for logging HTTP accesslogs

GoDoc

Bugs Code Smells Coverage Duplicated Lines (%) Lines of Code Maintainability Rating Quality Gate Status Reliability Rating Security Rating Technical Debt Vulnerabilities

Overview

This is a settings that enables constructing a RoundTripper that logs meta data on RoundTrip, such as the HTTP Method, time it takes to complete the HTTP request, path and query parameters, etc.

Quick Start

package main

import (
    "context"
    "net/http"

    accesslog "github.com/asecurityteam/component-accesslog"
)

func main() {
    ctx := context.Background()
	accessLogComponent := AccessLogComponent{}
    accessLogConfig := accessLogComponent.Settings()
    wrapper, _ := accessLogComponent.New(ctx, accessLogConfig)
    transport := wrapper(http.DefaultTransport)
    client := &http.Client{Transport: transport}
    req, _ := http.NewRequest(http.MethodGet, "www.google.com", http.NoBody)

    // should see accesslogs
    _, _ := j.HTTPClient.Do(req)

}

Status

This project is in incubation which means we are not yet operating this tool in production and the interfaces are subject to change.

Contributing

Building And Testing

We publish a docker image called SDCLI that bundles all of our build dependencies. It is used by the included Makefile to help make building and testing a bit easier. The following actions are available through the Makefile:

  • make dep

    Install the project dependencies into a vendor directory

  • make lint

    Run our static analysis suite

  • make test

    Run unit tests and generate a coverage artifact

  • make integration

    Run integration tests and generate a coverage artifact

  • make coverage

    Report the combined coverage for unit and integration tests

License

This project is licensed under Apache 2.0. See LICENSE.txt for details.

Contributing Agreement

Atlassian requires signing a contributor's agreement before we can accept a patch. If you are an individual you can fill out the individual CLA. If you are contributing on behalf of your company then please fill out the corporate CLA.