// Copyright 2022 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package safebrowsing provides access to the Safe Browsing API. // // For product documentation, see: https://developers.google.com/safe-browsing/ // // Creating a client // // Usage example: // // import "google.golang.org/api/safebrowsing/v4" // ... // ctx := context.Background() // safebrowsingService, err := safebrowsing.NewService(ctx) // // In this example, Google Application Default Credentials are used for authentication. // // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // Other authentication options // // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: // // safebrowsingService, err := safebrowsing.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // safebrowsingService, err := safebrowsing.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See https://godoc.org/google.golang.org/api/option/ for details on options. package safebrowsing // import "google.golang.org/api/safebrowsing/v4" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" htransport "google.golang.org/api/transport/http" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = gensupport.MarshalJSON var _ = googleapi.Version var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint const apiId = "safebrowsing:v4" const apiName = "safebrowsing" const apiVersion = "v4" const basePath = "https://safebrowsing.googleapis.com/" const mtlsBasePath = "https://safebrowsing.mtls.googleapis.com/" // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.EncodedFullHashes = NewEncodedFullHashesService(s) s.EncodedUpdates = NewEncodedUpdatesService(s) s.FullHashes = NewFullHashesService(s) s.ThreatHits = NewThreatHitsService(s) s.ThreatListUpdates = NewThreatListUpdatesService(s) s.ThreatLists = NewThreatListsService(s) s.ThreatMatches = NewThreatMatchesService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment EncodedFullHashes *EncodedFullHashesService EncodedUpdates *EncodedUpdatesService FullHashes *FullHashesService ThreatHits *ThreatHitsService ThreatListUpdates *ThreatListUpdatesService ThreatLists *ThreatListsService ThreatMatches *ThreatMatchesService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewEncodedFullHashesService(s *Service) *EncodedFullHashesService { rs := &EncodedFullHashesService{s: s} return rs } type EncodedFullHashesService struct { s *Service } func NewEncodedUpdatesService(s *Service) *EncodedUpdatesService { rs := &EncodedUpdatesService{s: s} return rs } type EncodedUpdatesService struct { s *Service } func NewFullHashesService(s *Service) *FullHashesService { rs := &FullHashesService{s: s} return rs } type FullHashesService struct { s *Service } func NewThreatHitsService(s *Service) *ThreatHitsService { rs := &ThreatHitsService{s: s} return rs } type ThreatHitsService struct { s *Service } func NewThreatListUpdatesService(s *Service) *ThreatListUpdatesService { rs := &ThreatListUpdatesService{s: s} return rs } type ThreatListUpdatesService struct { s *Service } func NewThreatListsService(s *Service) *ThreatListsService { rs := &ThreatListsService{s: s} return rs } type ThreatListsService struct { s *Service } func NewThreatMatchesService(s *Service) *ThreatMatchesService { rs := &ThreatMatchesService{s: s} return rs } type ThreatMatchesService struct { s *Service } // GoogleProtobufEmpty: A generic empty message that you can re-use to // avoid defining duplicated empty messages in your APIs. A typical // example is to use it as the request or the response type of an API // method. For instance: service Foo { rpc Bar(google.protobuf.Empty) // returns (google.protobuf.Empty); } type GoogleProtobufEmpty struct { // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` } // GoogleSecuritySafebrowsingV4Checksum: The expected state of a // client's local database. type GoogleSecuritySafebrowsingV4Checksum struct { // Sha256: The SHA256 hash of the client state; that is, of the sorted // list of all hashes present in the database. Sha256 string `json:"sha256,omitempty"` // ForceSendFields is a list of field names (e.g. "Sha256") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Sha256") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4Checksum) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4Checksum raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ClientInfo: The client metadata // associated with Safe Browsing API requests. type GoogleSecuritySafebrowsingV4ClientInfo struct { // ClientId: A client ID that (hopefully) uniquely identifies the client // implementation of the Safe Browsing API. ClientId string `json:"clientId,omitempty"` // ClientVersion: The version of the client implementation. ClientVersion string `json:"clientVersion,omitempty"` // ForceSendFields is a list of field names (e.g. "ClientId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ClientId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ClientInfo) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ClientInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest: Describes // a Safe Browsing API update request. Clients can request updates for // multiple lists in a single request. The server may not respond to all // requests, if the server has no updates for that list. NOTE: Field // index 2 is unused. NEXT: 5 type GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest struct { // Client: The client metadata. Client *GoogleSecuritySafebrowsingV4ClientInfo `json:"client,omitempty"` // ListUpdateRequests: The requested threat list updates. ListUpdateRequests []*GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest `json:"listUpdateRequests,omitempty"` // ForceSendFields is a list of field names (e.g. "Client") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Client") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateReq // uest: A single list update request. type GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest struct { // Constraints: The constraints associated with this request. Constraints *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints `json:"constraints,omitempty"` // PlatformType: The type of platform at risk by entries present in the // list. // // Possible values: // "PLATFORM_TYPE_UNSPECIFIED" - Unknown platform. // "WINDOWS" - Threat posed to Windows. // "LINUX" - Threat posed to Linux. // "ANDROID" - Threat posed to Android. // "OSX" - Threat posed to OS X. // "IOS" - Threat posed to iOS. // "ANY_PLATFORM" - Threat posed to at least one of the defined // platforms. // "ALL_PLATFORMS" - Threat posed to all defined platforms. // "CHROME" - Threat posed to Chrome. PlatformType string `json:"platformType,omitempty"` // State: The current state of the client for the requested list (the // encrypted client state that was received from the last successful // list update). State string `json:"state,omitempty"` // ThreatEntryType: The types of entries present in the list. // // Possible values: // "THREAT_ENTRY_TYPE_UNSPECIFIED" - Unspecified. // "URL" - A URL. // "EXECUTABLE" - An executable program. // "IP_RANGE" - An IP range. // "CHROME_EXTENSION" - Chrome extension. // "FILENAME" - Filename. // "CERT" - CERT ThreatEntryType string `json:"threatEntryType,omitempty"` // ThreatType: The type of threat posed by entries present in the list. // // Possible values: // "THREAT_TYPE_UNSPECIFIED" - Unknown. // "MALWARE" - Malware threat type. // "SOCIAL_ENGINEERING" - Social engineering threat type. // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for // internal use. // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. // "CSD_WHITELIST" - Client side detection whitelist threat type. // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client // incident threats. This enum was never launched and should be re-used // for the next list. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the // subresource filter. Interstitial will not be shown for patterns from // this list. // "SUSPICIOUS" - Entities that are suspected to present a threat. // "TRICK_TO_BILL" - Trick-to-bill threat list. // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known // safe URL expressions. // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips // in Chrome. See go/sb-accuracytips. // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing // list for WebRisk. See go/lower-precision-blocklists-enterprise. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "Constraints") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Constraints") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateReq // uestConstraints: The constraints for this update. type GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints struct { // DeviceLocation: A client's physical location, expressed as a ISO // 31166-1 alpha-2 region code. DeviceLocation string `json:"deviceLocation,omitempty"` // Language: Requests the lists for a specific language. Expects ISO 639 // alpha-2 format. Language string `json:"language,omitempty"` // MaxDatabaseEntries: Sets the maximum number of entries that the // client is willing to have in the local database for the specified // list. This should be a power of 2 between 2**10 and 2**20. If zero, // no database size limit is set. MaxDatabaseEntries int64 `json:"maxDatabaseEntries,omitempty"` // MaxUpdateEntries: The maximum size in number of entries. The update // will not contain more entries than this value. This should be a power // of 2 between 2**10 and 2**20. If zero, no update size limit is set. MaxUpdateEntries int64 `json:"maxUpdateEntries,omitempty"` // Region: Requests the list for a specific geographic location. If not // set the server may pick that value based on the user's IP address. // Expects ISO 3166-1 alpha-2 format. Region string `json:"region,omitempty"` // SupportedCompressions: The compression types supported by the client. // // Possible values: // "COMPRESSION_TYPE_UNSPECIFIED" - Unknown. // "RAW" - Raw, uncompressed data. // "RICE" - Rice-Golomb encoded data. SupportedCompressions []string `json:"supportedCompressions,omitempty"` // ForceSendFields is a list of field names (e.g. "DeviceLocation") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DeviceLocation") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse struct { // ListUpdateResponses: The list updates requested by the clients. The // number of responses here may be less than the number of requests sent // by clients. This is the case, for example, if the server has no // updates for a particular list. ListUpdateResponses []*GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse `json:"listUpdateResponses,omitempty"` // MinimumWaitDuration: The minimum duration the client must wait before // issuing any update request. If this field is not set clients may // update as soon as they want. MinimumWaitDuration string `json:"minimumWaitDuration,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ListUpdateResponses") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ListUpdateResponses") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateRe // sponse: An update to an individual list. type GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse struct { // Additions: A set of entries to add to a local threat type's list. // Repeated to allow for a combination of compressed and raw data to be // sent in a single response. Additions []*GoogleSecuritySafebrowsingV4ThreatEntrySet `json:"additions,omitempty"` // Checksum: The expected SHA256 hash of the client state; that is, of // the sorted list of all hashes present in the database after applying // the provided update. If the client state doesn't match the expected // state, the client must disregard this update and retry later. Checksum *GoogleSecuritySafebrowsingV4Checksum `json:"checksum,omitempty"` // NewClientState: The new client state, in encrypted format. Opaque to // clients. NewClientState string `json:"newClientState,omitempty"` // PlatformType: The platform type for which data is returned. // // Possible values: // "PLATFORM_TYPE_UNSPECIFIED" - Unknown platform. // "WINDOWS" - Threat posed to Windows. // "LINUX" - Threat posed to Linux. // "ANDROID" - Threat posed to Android. // "OSX" - Threat posed to OS X. // "IOS" - Threat posed to iOS. // "ANY_PLATFORM" - Threat posed to at least one of the defined // platforms. // "ALL_PLATFORMS" - Threat posed to all defined platforms. // "CHROME" - Threat posed to Chrome. PlatformType string `json:"platformType,omitempty"` // Removals: A set of entries to remove from a local threat type's list. // In practice, this field is empty or contains exactly one // ThreatEntrySet. Removals []*GoogleSecuritySafebrowsingV4ThreatEntrySet `json:"removals,omitempty"` // ResponseType: The type of response. This may indicate that an action // is required by the client when the response is received. // // Possible values: // "RESPONSE_TYPE_UNSPECIFIED" - Unknown. // "PARTIAL_UPDATE" - Partial updates are applied to the client's // existing local database. // "FULL_UPDATE" - Full updates replace the client's entire local // database. This means that either the client was seriously out-of-date // or the client is believed to be corrupt. ResponseType string `json:"responseType,omitempty"` // ThreatEntryType: The format of the threats. // // Possible values: // "THREAT_ENTRY_TYPE_UNSPECIFIED" - Unspecified. // "URL" - A URL. // "EXECUTABLE" - An executable program. // "IP_RANGE" - An IP range. // "CHROME_EXTENSION" - Chrome extension. // "FILENAME" - Filename. // "CERT" - CERT ThreatEntryType string `json:"threatEntryType,omitempty"` // ThreatType: The threat type for which data is returned. // // Possible values: // "THREAT_TYPE_UNSPECIFIED" - Unknown. // "MALWARE" - Malware threat type. // "SOCIAL_ENGINEERING" - Social engineering threat type. // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for // internal use. // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. // "CSD_WHITELIST" - Client side detection whitelist threat type. // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client // incident threats. This enum was never launched and should be re-used // for the next list. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the // subresource filter. Interstitial will not be shown for patterns from // this list. // "SUSPICIOUS" - Entities that are suspected to present a threat. // "TRICK_TO_BILL" - Trick-to-bill threat list. // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known // safe URL expressions. // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips // in Chrome. See go/sb-accuracytips. // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing // list for WebRisk. See go/lower-precision-blocklists-enterprise. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "Additions") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Additions") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4FindFullHashesRequest: Request to return // full hashes matched by the provided hash prefixes. type GoogleSecuritySafebrowsingV4FindFullHashesRequest struct { // ApiClient: Client metadata associated with callers of higher-level // APIs built on top of the client's implementation. ApiClient *GoogleSecuritySafebrowsingV4ClientInfo `json:"apiClient,omitempty"` // Client: The client metadata. Client *GoogleSecuritySafebrowsingV4ClientInfo `json:"client,omitempty"` // ClientStates: The current client states for each of the client's // local threat lists. ClientStates []string `json:"clientStates,omitempty"` // ThreatInfo: The lists and hashes to be checked. ThreatInfo *GoogleSecuritySafebrowsingV4ThreatInfo `json:"threatInfo,omitempty"` // ForceSendFields is a list of field names (e.g. "ApiClient") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ApiClient") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FindFullHashesRequest) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FindFullHashesRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type GoogleSecuritySafebrowsingV4FindFullHashesResponse struct { // Matches: The full hashes that matched the requested prefixes. Matches []*GoogleSecuritySafebrowsingV4ThreatMatch `json:"matches,omitempty"` // MinimumWaitDuration: The minimum duration the client must wait before // issuing any find hashes request. If this field is not set, clients // can issue a request as soon as they want. MinimumWaitDuration string `json:"minimumWaitDuration,omitempty"` // NegativeCacheDuration: For requested entities that did not match the // threat list, how long to cache the response. NegativeCacheDuration string `json:"negativeCacheDuration,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Matches") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Matches") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FindFullHashesResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FindFullHashesResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4FindThreatMatchesRequest: Request to // check entries against lists. type GoogleSecuritySafebrowsingV4FindThreatMatchesRequest struct { // Client: The client metadata. Client *GoogleSecuritySafebrowsingV4ClientInfo `json:"client,omitempty"` // ThreatInfo: The lists and entries to be checked for matches. ThreatInfo *GoogleSecuritySafebrowsingV4ThreatInfo `json:"threatInfo,omitempty"` // ForceSendFields is a list of field names (e.g. "Client") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Client") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FindThreatMatchesRequest) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FindThreatMatchesRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type GoogleSecuritySafebrowsingV4FindThreatMatchesResponse struct { // Matches: The threat list matches. Matches []*GoogleSecuritySafebrowsingV4ThreatMatch `json:"matches,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Matches") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Matches") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4FindThreatMatchesResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4FindThreatMatchesResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type GoogleSecuritySafebrowsingV4ListThreatListsResponse struct { // ThreatLists: The lists available for download by the client. ThreatLists []*GoogleSecuritySafebrowsingV4ThreatListDescriptor `json:"threatLists,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ThreatLists") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ThreatLists") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ListThreatListsResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ListThreatListsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4RawHashes: The uncompressed threat // entries in hash format of a particular prefix length. Hashes can be // anywhere from 4 to 32 bytes in size. A large majority are 4 bytes, // but some hashes are lengthened if they collide with the hash of a // popular URL. Used for sending ThreatEntrySet to clients that do not // support compression, or when sending non-4-byte hashes to clients // that do support compression. type GoogleSecuritySafebrowsingV4RawHashes struct { // PrefixSize: The number of bytes for each prefix encoded below. This // field can be anywhere from 4 (shortest prefix) to 32 (full SHA256 // hash). PrefixSize int64 `json:"prefixSize,omitempty"` // RawHashes: The hashes, in binary format, concatenated into one long // string. Hashes are sorted in lexicographic order. For JSON API users, // hashes are base64-encoded. RawHashes string `json:"rawHashes,omitempty"` // ForceSendFields is a list of field names (e.g. "PrefixSize") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PrefixSize") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4RawHashes) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4RawHashes raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4RawIndices: A set of raw indices to // remove from a local list. type GoogleSecuritySafebrowsingV4RawIndices struct { // Indices: The indices to remove from a lexicographically-sorted local // list. Indices []int64 `json:"indices,omitempty"` // ForceSendFields is a list of field names (e.g. "Indices") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Indices") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4RawIndices) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4RawIndices raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4RiceDeltaEncoding: The Rice-Golomb // encoded data. Used for sending compressed 4-byte hashes or compressed // removal indices. type GoogleSecuritySafebrowsingV4RiceDeltaEncoding struct { // EncodedData: The encoded deltas that are encoded using the // Golomb-Rice coder. EncodedData string `json:"encodedData,omitempty"` // FirstValue: The offset of the first entry in the encoded data, or, if // only a single integer was encoded, that single integer's value. If // the field is empty or missing, assume zero. FirstValue int64 `json:"firstValue,omitempty,string"` // NumEntries: The number of entries that are delta encoded in the // encoded data. If only a single integer was encoded, this will be zero // and the single value will be stored in `first_value`. NumEntries int64 `json:"numEntries,omitempty"` // RiceParameter: The Golomb-Rice parameter, which is a number between 2 // and 28. This field is missing (that is, zero) if `num_entries` is // zero. RiceParameter int64 `json:"riceParameter,omitempty"` // ForceSendFields is a list of field names (e.g. "EncodedData") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EncodedData") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4RiceDeltaEncoding) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4RiceDeltaEncoding raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatEntry: An individual threat; for // example, a malicious URL or its hash representation. Only one of // these fields should be set. type GoogleSecuritySafebrowsingV4ThreatEntry struct { // Digest: The digest of an executable in SHA256 format. The API // supports both binary and hex digests. For JSON requests, digests are // base64-encoded. Digest string `json:"digest,omitempty"` // Hash: A hash prefix, consisting of the most significant 4-32 bytes of // a SHA256 hash. This field is in binary format. For JSON requests, // hashes are base64-encoded. Hash string `json:"hash,omitempty"` // Url: A URL. Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "Digest") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Digest") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatEntry) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatEntry raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatEntryMetadata: The metadata // associated with a specific threat entry. The client is expected to // know the metadata key/value pairs associated with each threat type. type GoogleSecuritySafebrowsingV4ThreatEntryMetadata struct { // Entries: The metadata entries. Entries []*GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry `json:"entries,omitempty"` // ForceSendFields is a list of field names (e.g. "Entries") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Entries") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatEntryMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatEntryMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry: A // single metadata entry. type GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry struct { // Key: The metadata entry key. For JSON requests, the key is // base64-encoded. Key string `json:"key,omitempty"` // Value: The metadata entry value. For JSON requests, the value is // base64-encoded. Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Key") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatEntrySet: A set of threats that // should be added or removed from a client's local database. type GoogleSecuritySafebrowsingV4ThreatEntrySet struct { // CompressionType: The compression type for the entries in this set. // // Possible values: // "COMPRESSION_TYPE_UNSPECIFIED" - Unknown. // "RAW" - Raw, uncompressed data. // "RICE" - Rice-Golomb encoded data. CompressionType string `json:"compressionType,omitempty"` // RawHashes: The raw SHA256-formatted entries. RawHashes *GoogleSecuritySafebrowsingV4RawHashes `json:"rawHashes,omitempty"` // RawIndices: The raw removal indices for a local list. RawIndices *GoogleSecuritySafebrowsingV4RawIndices `json:"rawIndices,omitempty"` // RiceHashes: The encoded 4-byte prefixes of SHA256-formatted entries, // using a Golomb-Rice encoding. The hashes are converted to uint32, // sorted in ascending order, then delta encoded and stored as // encoded_data. RiceHashes *GoogleSecuritySafebrowsingV4RiceDeltaEncoding `json:"riceHashes,omitempty"` // RiceIndices: The encoded local, lexicographically-sorted list // indices, using a Golomb-Rice encoding. Used for sending compressed // removal indices. The removal indices (uint32) are sorted in ascending // order, then delta encoded and stored as encoded_data. RiceIndices *GoogleSecuritySafebrowsingV4RiceDeltaEncoding `json:"riceIndices,omitempty"` // ForceSendFields is a list of field names (e.g. "CompressionType") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CompressionType") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatEntrySet) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatEntrySet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type GoogleSecuritySafebrowsingV4ThreatHit struct { // ClientInfo: Client-reported identification. ClientInfo *GoogleSecuritySafebrowsingV4ClientInfo `json:"clientInfo,omitempty"` // Entry: The threat entry responsible for the hit. Full hash should be // reported for hash-based hits. Entry *GoogleSecuritySafebrowsingV4ThreatEntry `json:"entry,omitempty"` // PlatformType: The platform type reported. // // Possible values: // "PLATFORM_TYPE_UNSPECIFIED" - Unknown platform. // "WINDOWS" - Threat posed to Windows. // "LINUX" - Threat posed to Linux. // "ANDROID" - Threat posed to Android. // "OSX" - Threat posed to OS X. // "IOS" - Threat posed to iOS. // "ANY_PLATFORM" - Threat posed to at least one of the defined // platforms. // "ALL_PLATFORMS" - Threat posed to all defined platforms. // "CHROME" - Threat posed to Chrome. PlatformType string `json:"platformType,omitempty"` // Resources: The resources related to the threat hit. Resources []*GoogleSecuritySafebrowsingV4ThreatHitThreatSource `json:"resources,omitempty"` // ThreatType: The threat type reported. // // Possible values: // "THREAT_TYPE_UNSPECIFIED" - Unknown. // "MALWARE" - Malware threat type. // "SOCIAL_ENGINEERING" - Social engineering threat type. // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for // internal use. // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. // "CSD_WHITELIST" - Client side detection whitelist threat type. // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client // incident threats. This enum was never launched and should be re-used // for the next list. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the // subresource filter. Interstitial will not be shown for patterns from // this list. // "SUSPICIOUS" - Entities that are suspected to present a threat. // "TRICK_TO_BILL" - Trick-to-bill threat list. // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known // safe URL expressions. // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips // in Chrome. See go/sb-accuracytips. // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing // list for WebRisk. See go/lower-precision-blocklists-enterprise. ThreatType string `json:"threatType,omitempty"` // UserInfo: Details about the user that encountered the threat. UserInfo *GoogleSecuritySafebrowsingV4ThreatHitUserInfo `json:"userInfo,omitempty"` // ForceSendFields is a list of field names (e.g. "ClientInfo") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ClientInfo") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatHit) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatHit raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatHitThreatSource: A single resource // related to a threat hit. type GoogleSecuritySafebrowsingV4ThreatHitThreatSource struct { // Referrer: Referrer of the resource. Only set if the referrer is // available. Referrer string `json:"referrer,omitempty"` // RemoteIp: The remote IP of the resource in ASCII format. Either IPv4 // or IPv6. RemoteIp string `json:"remoteIp,omitempty"` // Type: The type of source reported. // // Possible values: // "THREAT_SOURCE_TYPE_UNSPECIFIED" - Unknown. // "MATCHING_URL" - The URL that matched the threat list (for which // GetFullHash returned a valid hash). // "TAB_URL" - The final top-level URL of the tab that the client was // browsing when the match occurred. // "TAB_REDIRECT" - A redirect URL that was fetched before hitting the // final TAB_URL. // "TAB_RESOURCE" - A resource loaded within the final TAB_URL. Type string `json:"type,omitempty"` // Url: The URL of the resource. Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "Referrer") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Referrer") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatHitThreatSource) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatHitThreatSource raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatHitUserInfo: Details about the user // that encountered the threat. type GoogleSecuritySafebrowsingV4ThreatHitUserInfo struct { // RegionCode: The UN M.49 region code associated with the user's // location. RegionCode string `json:"regionCode,omitempty"` // UserId: Unique user identifier defined by the client. UserId string `json:"userId,omitempty"` // ForceSendFields is a list of field names (e.g. "RegionCode") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RegionCode") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatHitUserInfo) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatHitUserInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatInfo: The information regarding one // or more threats that a client submits when checking for matches in // threat lists. type GoogleSecuritySafebrowsingV4ThreatInfo struct { // PlatformTypes: The platform types to be checked. // // Possible values: // "PLATFORM_TYPE_UNSPECIFIED" - Unknown platform. // "WINDOWS" - Threat posed to Windows. // "LINUX" - Threat posed to Linux. // "ANDROID" - Threat posed to Android. // "OSX" - Threat posed to OS X. // "IOS" - Threat posed to iOS. // "ANY_PLATFORM" - Threat posed to at least one of the defined // platforms. // "ALL_PLATFORMS" - Threat posed to all defined platforms. // "CHROME" - Threat posed to Chrome. PlatformTypes []string `json:"platformTypes,omitempty"` // ThreatEntries: The threat entries to be checked. ThreatEntries []*GoogleSecuritySafebrowsingV4ThreatEntry `json:"threatEntries,omitempty"` // ThreatEntryTypes: The entry types to be checked. // // Possible values: // "THREAT_ENTRY_TYPE_UNSPECIFIED" - Unspecified. // "URL" - A URL. // "EXECUTABLE" - An executable program. // "IP_RANGE" - An IP range. // "CHROME_EXTENSION" - Chrome extension. // "FILENAME" - Filename. // "CERT" - CERT ThreatEntryTypes []string `json:"threatEntryTypes,omitempty"` // ThreatTypes: The threat types to be checked. // // Possible values: // "THREAT_TYPE_UNSPECIFIED" - Unknown. // "MALWARE" - Malware threat type. // "SOCIAL_ENGINEERING" - Social engineering threat type. // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for // internal use. // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. // "CSD_WHITELIST" - Client side detection whitelist threat type. // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client // incident threats. This enum was never launched and should be re-used // for the next list. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the // subresource filter. Interstitial will not be shown for patterns from // this list. // "SUSPICIOUS" - Entities that are suspected to present a threat. // "TRICK_TO_BILL" - Trick-to-bill threat list. // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known // safe URL expressions. // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips // in Chrome. See go/sb-accuracytips. // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing // list for WebRisk. See go/lower-precision-blocklists-enterprise. ThreatTypes []string `json:"threatTypes,omitempty"` // ForceSendFields is a list of field names (e.g. "PlatformTypes") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PlatformTypes") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatInfo) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatListDescriptor: Describes an // individual threat list. A list is defined by three parameters: the // type of threat posed, the type of platform targeted by the threat, // and the type of entries in the list. type GoogleSecuritySafebrowsingV4ThreatListDescriptor struct { // PlatformType: The platform type targeted by the list's entries. // // Possible values: // "PLATFORM_TYPE_UNSPECIFIED" - Unknown platform. // "WINDOWS" - Threat posed to Windows. // "LINUX" - Threat posed to Linux. // "ANDROID" - Threat posed to Android. // "OSX" - Threat posed to OS X. // "IOS" - Threat posed to iOS. // "ANY_PLATFORM" - Threat posed to at least one of the defined // platforms. // "ALL_PLATFORMS" - Threat posed to all defined platforms. // "CHROME" - Threat posed to Chrome. PlatformType string `json:"platformType,omitempty"` // ThreatEntryType: The entry types contained in the list. // // Possible values: // "THREAT_ENTRY_TYPE_UNSPECIFIED" - Unspecified. // "URL" - A URL. // "EXECUTABLE" - An executable program. // "IP_RANGE" - An IP range. // "CHROME_EXTENSION" - Chrome extension. // "FILENAME" - Filename. // "CERT" - CERT ThreatEntryType string `json:"threatEntryType,omitempty"` // ThreatType: The threat type posed by the list's entries. // // Possible values: // "THREAT_TYPE_UNSPECIFIED" - Unknown. // "MALWARE" - Malware threat type. // "SOCIAL_ENGINEERING" - Social engineering threat type. // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for // internal use. // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. // "CSD_WHITELIST" - Client side detection whitelist threat type. // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client // incident threats. This enum was never launched and should be re-used // for the next list. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the // subresource filter. Interstitial will not be shown for patterns from // this list. // "SUSPICIOUS" - Entities that are suspected to present a threat. // "TRICK_TO_BILL" - Trick-to-bill threat list. // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known // safe URL expressions. // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips // in Chrome. See go/sb-accuracytips. // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing // list for WebRisk. See go/lower-precision-blocklists-enterprise. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "PlatformType") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PlatformType") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatListDescriptor) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatListDescriptor raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleSecuritySafebrowsingV4ThreatMatch: A match when checking a // threat entry in the Safe Browsing threat lists. type GoogleSecuritySafebrowsingV4ThreatMatch struct { // CacheDuration: The cache lifetime for the returned match. Clients // must not cache this response for more than this duration to avoid // false positives. CacheDuration string `json:"cacheDuration,omitempty"` // PlatformType: The platform type matching this threat. // // Possible values: // "PLATFORM_TYPE_UNSPECIFIED" - Unknown platform. // "WINDOWS" - Threat posed to Windows. // "LINUX" - Threat posed to Linux. // "ANDROID" - Threat posed to Android. // "OSX" - Threat posed to OS X. // "IOS" - Threat posed to iOS. // "ANY_PLATFORM" - Threat posed to at least one of the defined // platforms. // "ALL_PLATFORMS" - Threat posed to all defined platforms. // "CHROME" - Threat posed to Chrome. PlatformType string `json:"platformType,omitempty"` // Threat: The threat matching this threat. Threat *GoogleSecuritySafebrowsingV4ThreatEntry `json:"threat,omitempty"` // ThreatEntryMetadata: Optional metadata associated with this threat. ThreatEntryMetadata *GoogleSecuritySafebrowsingV4ThreatEntryMetadata `json:"threatEntryMetadata,omitempty"` // ThreatEntryType: The threat entry type matching this threat. // // Possible values: // "THREAT_ENTRY_TYPE_UNSPECIFIED" - Unspecified. // "URL" - A URL. // "EXECUTABLE" - An executable program. // "IP_RANGE" - An IP range. // "CHROME_EXTENSION" - Chrome extension. // "FILENAME" - Filename. // "CERT" - CERT ThreatEntryType string `json:"threatEntryType,omitempty"` // ThreatType: The threat type matching this threat. // // Possible values: // "THREAT_TYPE_UNSPECIFIED" - Unknown. // "MALWARE" - Malware threat type. // "SOCIAL_ENGINEERING" - Social engineering threat type. // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for // internal use. // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. // "CSD_WHITELIST" - Client side detection whitelist threat type. // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client // incident threats. This enum was never launched and should be re-used // for the next list. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the // subresource filter. Interstitial will not be shown for patterns from // this list. // "SUSPICIOUS" - Entities that are suspected to present a threat. // "TRICK_TO_BILL" - Trick-to-bill threat list. // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known // safe URL expressions. // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips // in Chrome. See go/sb-accuracytips. // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing // list for WebRisk. See go/lower-precision-blocklists-enterprise. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "CacheDuration") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CacheDuration") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleSecuritySafebrowsingV4ThreatMatch) MarshalJSON() ([]byte, error) { type NoMethod GoogleSecuritySafebrowsingV4ThreatMatch raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // method id "safebrowsing.encodedFullHashes.get": type EncodedFullHashesGetCall struct { s *Service encodedRequest string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: // // - encodedRequest: A serialized FindFullHashesRequest proto. func (r *EncodedFullHashesService) Get(encodedRequest string) *EncodedFullHashesGetCall { c := &EncodedFullHashesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.encodedRequest = encodedRequest return c } // ClientId sets the optional parameter "clientId": A client ID that // (hopefully) uniquely identifies the client implementation of the Safe // Browsing API. func (c *EncodedFullHashesGetCall) ClientId(clientId string) *EncodedFullHashesGetCall { c.urlParams_.Set("clientId", clientId) return c } // ClientVersion sets the optional parameter "clientVersion": The // version of the client implementation. func (c *EncodedFullHashesGetCall) ClientVersion(clientVersion string) *EncodedFullHashesGetCall { c.urlParams_.Set("clientVersion", clientVersion) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *EncodedFullHashesGetCall) Fields(s ...googleapi.Field) *EncodedFullHashesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *EncodedFullHashesGetCall) IfNoneMatch(entityTag string) *EncodedFullHashesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *EncodedFullHashesGetCall) Context(ctx context.Context) *EncodedFullHashesGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *EncodedFullHashesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *EncodedFullHashesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v4/encodedFullHashes/{encodedRequest}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "encodedRequest": c.encodedRequest, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "safebrowsing.encodedFullHashes.get" call. // Exactly one of *GoogleSecuritySafebrowsingV4FindFullHashesResponse or // error will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleSecuritySafebrowsingV4FindFullHashesResponse.ServerResponse.Hea // der or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *EncodedFullHashesGetCall) Do(opts ...googleapi.CallOption) (*GoogleSecuritySafebrowsingV4FindFullHashesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleSecuritySafebrowsingV4FindFullHashesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "", // "flatPath": "v4/encodedFullHashes/{encodedRequest}", // "httpMethod": "GET", // "id": "safebrowsing.encodedFullHashes.get", // "parameterOrder": [ // "encodedRequest" // ], // "parameters": { // "clientId": { // "description": "A client ID that (hopefully) uniquely identifies the client implementation of the Safe Browsing API.", // "location": "query", // "type": "string" // }, // "clientVersion": { // "description": "The version of the client implementation.", // "location": "query", // "type": "string" // }, // "encodedRequest": { // "description": "A serialized FindFullHashesRequest proto.", // "format": "byte", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "v4/encodedFullHashes/{encodedRequest}", // "response": { // "$ref": "GoogleSecuritySafebrowsingV4FindFullHashesResponse" // } // } } // method id "safebrowsing.encodedUpdates.get": type EncodedUpdatesGetCall struct { s *Service encodedRequest string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: // // - encodedRequest: A serialized FetchThreatListUpdatesRequest proto. func (r *EncodedUpdatesService) Get(encodedRequest string) *EncodedUpdatesGetCall { c := &EncodedUpdatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.encodedRequest = encodedRequest return c } // ClientId sets the optional parameter "clientId": A client ID that // uniquely identifies the client implementation of the Safe Browsing // API. func (c *EncodedUpdatesGetCall) ClientId(clientId string) *EncodedUpdatesGetCall { c.urlParams_.Set("clientId", clientId) return c } // ClientVersion sets the optional parameter "clientVersion": The // version of the client implementation. func (c *EncodedUpdatesGetCall) ClientVersion(clientVersion string) *EncodedUpdatesGetCall { c.urlParams_.Set("clientVersion", clientVersion) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *EncodedUpdatesGetCall) Fields(s ...googleapi.Field) *EncodedUpdatesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *EncodedUpdatesGetCall) IfNoneMatch(entityTag string) *EncodedUpdatesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *EncodedUpdatesGetCall) Context(ctx context.Context) *EncodedUpdatesGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *EncodedUpdatesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *EncodedUpdatesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v4/encodedUpdates/{encodedRequest}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "encodedRequest": c.encodedRequest, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "safebrowsing.encodedUpdates.get" call. // Exactly one of // *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse or error // will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse.ServerResp // onse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *EncodedUpdatesGetCall) Do(opts ...googleapi.CallOption) (*GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "", // "flatPath": "v4/encodedUpdates/{encodedRequest}", // "httpMethod": "GET", // "id": "safebrowsing.encodedUpdates.get", // "parameterOrder": [ // "encodedRequest" // ], // "parameters": { // "clientId": { // "description": "A client ID that uniquely identifies the client implementation of the Safe Browsing API.", // "location": "query", // "type": "string" // }, // "clientVersion": { // "description": "The version of the client implementation.", // "location": "query", // "type": "string" // }, // "encodedRequest": { // "description": "A serialized FetchThreatListUpdatesRequest proto.", // "format": "byte", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "v4/encodedUpdates/{encodedRequest}", // "response": { // "$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse" // } // } } // method id "safebrowsing.fullHashes.find": type FullHashesFindCall struct { s *Service googlesecuritysafebrowsingv4findfullhashesrequest *GoogleSecuritySafebrowsingV4FindFullHashesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Find: Finds the full hashes that match the requested hash prefixes. func (r *FullHashesService) Find(googlesecuritysafebrowsingv4findfullhashesrequest *GoogleSecuritySafebrowsingV4FindFullHashesRequest) *FullHashesFindCall { c := &FullHashesFindCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.googlesecuritysafebrowsingv4findfullhashesrequest = googlesecuritysafebrowsingv4findfullhashesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *FullHashesFindCall) Fields(s ...googleapi.Field) *FullHashesFindCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *FullHashesFindCall) Context(ctx context.Context) *FullHashesFindCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *FullHashesFindCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FullHashesFindCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlesecuritysafebrowsingv4findfullhashesrequest) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v4/fullHashes:find") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "safebrowsing.fullHashes.find" call. // Exactly one of *GoogleSecuritySafebrowsingV4FindFullHashesResponse or // error will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleSecuritySafebrowsingV4FindFullHashesResponse.ServerResponse.Hea // der or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *FullHashesFindCall) Do(opts ...googleapi.CallOption) (*GoogleSecuritySafebrowsingV4FindFullHashesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleSecuritySafebrowsingV4FindFullHashesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Finds the full hashes that match the requested hash prefixes.", // "flatPath": "v4/fullHashes:find", // "httpMethod": "POST", // "id": "safebrowsing.fullHashes.find", // "parameterOrder": [], // "parameters": {}, // "path": "v4/fullHashes:find", // "request": { // "$ref": "GoogleSecuritySafebrowsingV4FindFullHashesRequest" // }, // "response": { // "$ref": "GoogleSecuritySafebrowsingV4FindFullHashesResponse" // } // } } // method id "safebrowsing.threatHits.create": type ThreatHitsCreateCall struct { s *Service googlesecuritysafebrowsingv4threathit *GoogleSecuritySafebrowsingV4ThreatHit urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Reports a Safe Browsing threat list hit to Google. Only // projects with TRUSTED_REPORTER visibility can use this method. func (r *ThreatHitsService) Create(googlesecuritysafebrowsingv4threathit *GoogleSecuritySafebrowsingV4ThreatHit) *ThreatHitsCreateCall { c := &ThreatHitsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.googlesecuritysafebrowsingv4threathit = googlesecuritysafebrowsingv4threathit return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ThreatHitsCreateCall) Fields(s ...googleapi.Field) *ThreatHitsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ThreatHitsCreateCall) Context(ctx context.Context) *ThreatHitsCreateCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ThreatHitsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ThreatHitsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlesecuritysafebrowsingv4threathit) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v4/threatHits") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "safebrowsing.threatHits.create" call. // Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *GoogleProtobufEmpty.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *ThreatHitsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleProtobufEmpty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Reports a Safe Browsing threat list hit to Google. Only projects with TRUSTED_REPORTER visibility can use this method.", // "flatPath": "v4/threatHits", // "httpMethod": "POST", // "id": "safebrowsing.threatHits.create", // "parameterOrder": [], // "parameters": {}, // "path": "v4/threatHits", // "request": { // "$ref": "GoogleSecuritySafebrowsingV4ThreatHit" // }, // "response": { // "$ref": "GoogleProtobufEmpty" // } // } } // method id "safebrowsing.threatListUpdates.fetch": type ThreatListUpdatesFetchCall struct { s *Service googlesecuritysafebrowsingv4fetchthreatlistupdatesrequest *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Fetch: Fetches the most recent threat list updates. A client can // request updates for multiple lists at once. func (r *ThreatListUpdatesService) Fetch(googlesecuritysafebrowsingv4fetchthreatlistupdatesrequest *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest) *ThreatListUpdatesFetchCall { c := &ThreatListUpdatesFetchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.googlesecuritysafebrowsingv4fetchthreatlistupdatesrequest = googlesecuritysafebrowsingv4fetchthreatlistupdatesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ThreatListUpdatesFetchCall) Fields(s ...googleapi.Field) *ThreatListUpdatesFetchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ThreatListUpdatesFetchCall) Context(ctx context.Context) *ThreatListUpdatesFetchCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ThreatListUpdatesFetchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ThreatListUpdatesFetchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlesecuritysafebrowsingv4fetchthreatlistupdatesrequest) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v4/threatListUpdates:fetch") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "safebrowsing.threatListUpdates.fetch" call. // Exactly one of // *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse or error // will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse.ServerResp // onse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *ThreatListUpdatesFetchCall) Do(opts ...googleapi.CallOption) (*GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Fetches the most recent threat list updates. A client can request updates for multiple lists at once.", // "flatPath": "v4/threatListUpdates:fetch", // "httpMethod": "POST", // "id": "safebrowsing.threatListUpdates.fetch", // "parameterOrder": [], // "parameters": {}, // "path": "v4/threatListUpdates:fetch", // "request": { // "$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest" // }, // "response": { // "$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse" // } // } } // method id "safebrowsing.threatLists.list": type ThreatListsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the Safe Browsing threat lists available for download. func (r *ThreatListsService) List() *ThreatListsListCall { c := &ThreatListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ThreatListsListCall) Fields(s ...googleapi.Field) *ThreatListsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *ThreatListsListCall) IfNoneMatch(entityTag string) *ThreatListsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ThreatListsListCall) Context(ctx context.Context) *ThreatListsListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ThreatListsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ThreatListsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v4/threatLists") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "safebrowsing.threatLists.list" call. // Exactly one of *GoogleSecuritySafebrowsingV4ListThreatListsResponse // or error will be non-nil. Any non-2xx status code is an error. // Response headers are in either // *GoogleSecuritySafebrowsingV4ListThreatListsResponse.ServerResponse.He // ader or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *ThreatListsListCall) Do(opts ...googleapi.CallOption) (*GoogleSecuritySafebrowsingV4ListThreatListsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleSecuritySafebrowsingV4ListThreatListsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Lists the Safe Browsing threat lists available for download.", // "flatPath": "v4/threatLists", // "httpMethod": "GET", // "id": "safebrowsing.threatLists.list", // "parameterOrder": [], // "parameters": {}, // "path": "v4/threatLists", // "response": { // "$ref": "GoogleSecuritySafebrowsingV4ListThreatListsResponse" // } // } } // method id "safebrowsing.threatMatches.find": type ThreatMatchesFindCall struct { s *Service googlesecuritysafebrowsingv4findthreatmatchesrequest *GoogleSecuritySafebrowsingV4FindThreatMatchesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Find: Finds the threat entries that match the Safe Browsing lists. func (r *ThreatMatchesService) Find(googlesecuritysafebrowsingv4findthreatmatchesrequest *GoogleSecuritySafebrowsingV4FindThreatMatchesRequest) *ThreatMatchesFindCall { c := &ThreatMatchesFindCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.googlesecuritysafebrowsingv4findthreatmatchesrequest = googlesecuritysafebrowsingv4findthreatmatchesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ThreatMatchesFindCall) Fields(s ...googleapi.Field) *ThreatMatchesFindCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ThreatMatchesFindCall) Context(ctx context.Context) *ThreatMatchesFindCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ThreatMatchesFindCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ThreatMatchesFindCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlesecuritysafebrowsingv4findthreatmatchesrequest) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v4/threatMatches:find") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "safebrowsing.threatMatches.find" call. // Exactly one of *GoogleSecuritySafebrowsingV4FindThreatMatchesResponse // or error will be non-nil. Any non-2xx status code is an error. // Response headers are in either // *GoogleSecuritySafebrowsingV4FindThreatMatchesResponse.ServerResponse. // Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *ThreatMatchesFindCall) Do(opts ...googleapi.CallOption) (*GoogleSecuritySafebrowsingV4FindThreatMatchesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleSecuritySafebrowsingV4FindThreatMatchesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Finds the threat entries that match the Safe Browsing lists.", // "flatPath": "v4/threatMatches:find", // "httpMethod": "POST", // "id": "safebrowsing.threatMatches.find", // "parameterOrder": [], // "parameters": {}, // "path": "v4/threatMatches:find", // "request": { // "$ref": "GoogleSecuritySafebrowsingV4FindThreatMatchesRequest" // }, // "response": { // "$ref": "GoogleSecuritySafebrowsingV4FindThreatMatchesResponse" // } // } }