gorules

package
v2.11.0 Latest Latest
Warning

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

Go to latest
Published: May 6, 2024 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Overview

Package gorules defines custom lint rules for ruleguard.

golangci-lint runs these rules via go-critic, which includes support for ruleguard. All Go files in this directory define lint rules in the Ruleguard DSL; see:

- https://go-ruleguard.github.io/by-example/ - https://pkg.go.dev/github.com/quasilyte/go-ruleguard/dsl

You run one of the following commands to execute your go rules only:

golangci-lint run
golangci-lint run --disable-all --enable=gocritic

Note: don't forget to run `golangci-lint cache clean`!

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FullResponseWriter

func FullResponseWriter(m dsl.Matcher)

FullResponseWriter ensures that any overridden response writer has full functionality. Mainly is hijackable and flushable.

func HttpAPIErrorMessage

func HttpAPIErrorMessage(m dsl.Matcher)

HttpAPIErrorMessage intends to enforce constructing proper sentences as error messages for the api. A proper sentence includes proper capitalization and ends with punctuation. There are ways around the linter, but this should work in the common cases.

func HttpAPIReturn

func HttpAPIReturn(m dsl.Matcher)

HttpAPIReturn will report a linter violation if the http function is not returned after writing a response to the client.

func InTx

func InTx(m dsl.Matcher)

InTx checks to ensure the database used inside the transaction closure is the transaction database, and not the original database that creates the tx.

func ProperRBACReturn

func ProperRBACReturn(m dsl.Matcher)

ProperRBACReturn ensures we always write to the response writer after a call to Authorize. If we just do a return, the client will get a status code 200, which is incorrect.

Types

This section is empty.

Jump to

Keyboard shortcuts

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