code: func NewCtx(authZPlugins []Plugin, user, userAuthNMethod, requestMethod, requestURI string) *Ctx {
  	return &Ctx{
  		plugins:         authZPlugins,
  		user:            user,
  		userAuthNMethod: userAuthNMethod,
  		requestMethod:   requestMethod,
  		requestURI:      requestURI,
  	}
  }
docs: // NewCtx creates new authZ context, it is used to store authorization information related to a specific docker
  // REST http session
  // A context provides two method:
  // Authenticate Request:
  // Call authZ plugins with current REST request and AuthN response
  // Request contains full HTTP packet sent to the docker daemon
  // https://docs.docker.com/engine/reference/api/
  //
  // Authenticate Response:
  // Call authZ plugins with full info about current REST request, REST response and AuthN response
  // The response from this method may contains content that overrides the daemon response
  // This allows authZ plugins to filter privileged content
  //
  // If multiple authZ plugins are specified, the block/allow decision is based on ANDing all plugin results
  // For response manipulation, the response from each plugin is piped between plugins. Plugin execution order
  // is determined according to daemon parameters