Documentation ¶
Index ¶
- Variables
- func LoadStarWarsQuery(starwarsFile string, variables starwars.QueryVariables) func(t *testing.T) Request
- func UnmarshalHttpRequest(r *http.Request, request *Request) error
- func UnmarshalRequest(reader io.Reader, request *Request) error
- type ComplexityCalculator
- type ComplexityResult
- type DefaultFieldsValidator
- func (d DefaultFieldsValidator) Validate(request *Request, schema *Schema, restrictions []Type) (RequestFieldsValidationResult, error)deprecated
- func (d DefaultFieldsValidator) ValidateByFieldList(request *Request, schema *Schema, restrictionList FieldRestrictionList) (RequestFieldsValidationResult, error)
- type EngineResultWriter
- func (e *EngineResultWriter) AsHTTPResponse(status int, headers http.Header) *http.Response
- func (e *EngineResultWriter) Bytes() []byte
- func (e *EngineResultWriter) Complete()
- func (e *EngineResultWriter) Flush() error
- func (e *EngineResultWriter) Len() int
- func (e *EngineResultWriter) Read(p []byte) (n int, err error)
- func (e *EngineResultWriter) Reset()
- func (e *EngineResultWriter) SetFlushCallback(flushCb func(data []byte))
- func (e *EngineResultWriter) String() string
- func (e *EngineResultWriter) Write(p []byte) (n int, err error)
- type Extractor
- type FieldComplexityResult
- type FieldRestrictionList
- type FieldRestrictionListKind
- type FieldRestrictionValidator
- type NormalizationResult
- type OperationType
- type Request
- func (r *Request) CalculateComplexity(complexityCalculator ComplexityCalculator, schema *Schema) (ComplexityResult, error)
- func (r *Request) Document() *ast.Document
- func (r *Request) InternalRequest() resolve.Request
- func (r *Request) IsIntrospectionQuery() (result bool, err error)
- func (r *Request) IsNormalized() bool
- func (r *Request) Normalize(schema *Schema) (result NormalizationResult, err error)
- func (r *Request) OperationType() (OperationType, error)
- func (r *Request) Print(writer io.Writer) (n int, err error)
- func (r *Request) SetHeader(header http.Header)
- func (r *Request) ValidateFieldRestrictions(schema *Schema, restrictedFieldsList FieldRestrictionList, ...) (RequestFieldsValidationResult, error)
- func (r *Request) ValidateForSchema(schema *Schema) (result ValidationResult, err error)
- func (r *Request) ValidateRestrictedFields(schema *Schema, restrictedFields []Type) (RequestFieldsValidationResult, error)deprecated
- type RequestFields
- type RequestFieldsValidationResult
- type RequestFieldsValidator
- type RequestTypes
- type Schema
- func (s *Schema) Document() *ast.Document
- func (s *Schema) GetAllFieldArguments(skipFieldFuncs ...SkipFieldFunc) []TypeFieldArguments
- func (s *Schema) GetAllNestedFieldChildrenFromTypeField(typeName string, fieldName string, skipFieldFuncs ...SkipFieldFunc) []TypeFields
- func (s *Schema) HasMutationType() bool
- func (s *Schema) HasQueryType() bool
- func (s *Schema) HasSubscriptionType() bool
- func (s *Schema) Hash() uint64
- func (s *Schema) Input() []byte
- func (s *Schema) IsNormalized() bool
- func (s *Schema) MutationTypeName() string
- func (s *Schema) Normalize() (result NormalizationResult, err error)
- func (s *Schema) QueryTypeName() string
- func (s *Schema) RawSchema() []byte
- func (s *Schema) SubscriptionTypeName() string
- func (s *Schema) Validate() (result ValidationResult, err error)
- type SchemaValidationError
- type SchemaValidationErrors
- type SkipFieldFunc
- type TestingTB
- type Type
- type TypeFieldArguments
- type TypeFields
- type ValidationResult
Constants ¶
This section is empty.
Variables ¶
var ( ErrEmptyRequest = errors.New("the provided request is empty") ErrNilSchema = errors.New("the provided schema is nil") )
var CountriesSchema = `` /* 1558-byte string literal not displayed */
var DefaultComplexityCalculator = defaultComplexityCalculator{}
Functions ¶
func LoadStarWarsQuery ¶
Types ¶
type ComplexityCalculator ¶
type ComplexityCalculator interface {
Calculate(operation, definition *ast.Document) (ComplexityResult, error)
}
type ComplexityResult ¶
type ComplexityResult struct { NodeCount int Complexity int Depth int PerRootField []FieldComplexityResult Errors graphqlerrors.Errors }
type DefaultFieldsValidator ¶
type DefaultFieldsValidator struct { }
func (DefaultFieldsValidator) Validate
deprecated
func (d DefaultFieldsValidator) Validate(request *Request, schema *Schema, restrictions []Type) (RequestFieldsValidationResult, error)
Validate validates a request by checking if `restrictions` contains blocked fields.
Deprecated: This function can only handle blocked fields. Use `ValidateByFieldList` if you want to check for blocked or allowed fields instead.
func (DefaultFieldsValidator) ValidateByFieldList ¶
func (d DefaultFieldsValidator) ValidateByFieldList(request *Request, schema *Schema, restrictionList FieldRestrictionList) (RequestFieldsValidationResult, error)
ValidateByFieldList will validate a request by using a list of allowed or blocked fields.
type EngineResultWriter ¶
type EngineResultWriter struct {
// contains filtered or unexported fields
}
func NewEngineResultWriter ¶
func NewEngineResultWriter() EngineResultWriter
func NewEngineResultWriterFromBuffer ¶
func NewEngineResultWriterFromBuffer(buf *bytes.Buffer) EngineResultWriter
func (*EngineResultWriter) AsHTTPResponse ¶
func (*EngineResultWriter) Bytes ¶
func (e *EngineResultWriter) Bytes() []byte
func (*EngineResultWriter) Complete ¶
func (e *EngineResultWriter) Complete()
func (*EngineResultWriter) Flush ¶
func (e *EngineResultWriter) Flush() error
func (*EngineResultWriter) Len ¶
func (e *EngineResultWriter) Len() int
func (*EngineResultWriter) Reset ¶
func (e *EngineResultWriter) Reset()
func (*EngineResultWriter) SetFlushCallback ¶
func (e *EngineResultWriter) SetFlushCallback(flushCb func(data []byte))
func (*EngineResultWriter) String ¶
func (e *EngineResultWriter) String() string
type Extractor ¶
type Extractor struct {
// contains filtered or unexported fields
}
func NewExtractor ¶
func NewExtractor() *Extractor
func (*Extractor) ExtractFieldsFromRequest ¶
func (e *Extractor) ExtractFieldsFromRequest(request *Request, schema *Schema, report *operationreport.Report, data RequestTypes)
type FieldComplexityResult ¶
type FieldRestrictionList ¶
type FieldRestrictionList struct { Kind FieldRestrictionListKind Types []Type }
type FieldRestrictionListKind ¶
type FieldRestrictionListKind int
const ( AllowList FieldRestrictionListKind = iota BlockList )
type FieldRestrictionValidator ¶
type FieldRestrictionValidator interface {
ValidateByFieldList(request *Request, schema *Schema, restrictionList FieldRestrictionList) (RequestFieldsValidationResult, error)
}
type NormalizationResult ¶
type NormalizationResult struct { Successful bool Errors graphqlerrors.Errors }
func NormalizationResultFromReport ¶
func NormalizationResultFromReport(report operationreport.Report) (NormalizationResult, error)
type OperationType ¶
type OperationType ast.OperationType
const ( OperationTypeUnknown OperationType = OperationType(ast.OperationTypeUnknown) OperationTypeQuery OperationType = OperationType(ast.OperationTypeQuery) OperationTypeMutation OperationType = OperationType(ast.OperationTypeMutation) OperationTypeSubscription OperationType = OperationType(ast.OperationTypeSubscription) )
type Request ¶
type Request struct { OperationName string `json:"operationName"` Variables json.RawMessage `json:"variables,omitempty"` Query string `json:"query"` // contains filtered or unexported fields }
func StarwarsRequestForQuery ¶
func (*Request) CalculateComplexity ¶
func (r *Request) CalculateComplexity(complexityCalculator ComplexityCalculator, schema *Schema) (ComplexityResult, error)
func (*Request) InternalRequest ¶
func (*Request) IsIntrospectionQuery ¶
func (*Request) IsNormalized ¶
func (*Request) Normalize ¶
func (r *Request) Normalize(schema *Schema) (result NormalizationResult, err error)
func (*Request) OperationType ¶
func (r *Request) OperationType() (OperationType, error)
func (*Request) ValidateFieldRestrictions ¶
func (r *Request) ValidateFieldRestrictions(schema *Schema, restrictedFieldsList FieldRestrictionList, validator FieldRestrictionValidator) (RequestFieldsValidationResult, error)
ValidateFieldRestrictions will validate a request by using a list of allowed or blocked fields.
func (*Request) ValidateForSchema ¶
func (r *Request) ValidateForSchema(schema *Schema) (result ValidationResult, err error)
func (*Request) ValidateRestrictedFields
deprecated
func (r *Request) ValidateRestrictedFields(schema *Schema, restrictedFields []Type) (RequestFieldsValidationResult, error)
ValidateRestrictedFields validates a request by checking if `restrictedFields` contains blocked fields.
Deprecated: This function can only handle blocked fields. Use `ValidateFieldRestrictions` if you want to check for blocked or allowed fields instead.
type RequestFields ¶
type RequestFields map[string]struct{}
type RequestFieldsValidationResult ¶
type RequestFieldsValidationResult struct { Valid bool Errors graphqlerrors.Errors }
type RequestFieldsValidator ¶
type RequestFieldsValidator interface {
Validate(request *Request, schema *Schema, restrictions []Type) (RequestFieldsValidationResult, error)
}
type RequestTypes ¶
type RequestTypes map[string]RequestFields
type Schema ¶
type Schema struct {
// contains filtered or unexported fields
}
func CreateCountriesSchema ¶
func NewSchemaFromString ¶
func StarwarsSchema ¶
func (*Schema) GetAllFieldArguments ¶
func (s *Schema) GetAllFieldArguments(skipFieldFuncs ...SkipFieldFunc) []TypeFieldArguments
func (*Schema) GetAllNestedFieldChildrenFromTypeField ¶
func (s *Schema) GetAllNestedFieldChildrenFromTypeField(typeName string, fieldName string, skipFieldFuncs ...SkipFieldFunc) []TypeFields
func (*Schema) HasMutationType ¶
func (*Schema) HasQueryType ¶
HasQueryType TODO: should be deprecated?
func (*Schema) HasSubscriptionType ¶
func (*Schema) IsNormalized ¶
func (*Schema) MutationTypeName ¶
func (*Schema) Normalize ¶
func (s *Schema) Normalize() (result NormalizationResult, err error)
func (*Schema) QueryTypeName ¶
func (*Schema) SubscriptionTypeName ¶
func (*Schema) Validate ¶
func (s *Schema) Validate() (result ValidationResult, err error)
type SchemaValidationError ¶
type SchemaValidationError struct {
Message string `json:"message"`
}
func (SchemaValidationError) Error ¶
func (s SchemaValidationError) Error() string
type SchemaValidationErrors ¶
type SchemaValidationErrors []SchemaValidationError
func (SchemaValidationErrors) Count ¶
func (s SchemaValidationErrors) Count() int
func (SchemaValidationErrors) Error ¶
func (s SchemaValidationErrors) Error() string
func (SchemaValidationErrors) ErrorByIndex ¶
func (s SchemaValidationErrors) ErrorByIndex(i int) error
func (SchemaValidationErrors) WriteResponse ¶
func (s SchemaValidationErrors) WriteResponse(writer io.Writer) (n int, err error)
type SkipFieldFunc ¶
func NewIsDataSourceConfigV2RootFieldSkipFunc ¶
func NewIsDataSourceConfigV2RootFieldSkipFunc(dataSources []plan.DataSource) SkipFieldFunc
func NewSkipReservedNamesFunc ¶
func NewSkipReservedNamesFunc() SkipFieldFunc
type TestingTB ¶
type TestingTB interface { Errorf(format string, args ...interface{}) Helper() FailNow() }
type TypeFieldArguments ¶
type TypeFields ¶
type ValidationResult ¶
type ValidationResult struct { Valid bool Errors graphqlerrors.Errors }
func ValidateSchemaString ¶
func ValidateSchemaString(schema string) (result ValidationResult, err error)