gogol-customsearch-1.0.0: gen/Gogol/CustomSearch/Search/Cse/Siterestrict/List.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- |
-- Module : Gogol.CustomSearch.Search.Cse.Siterestrict.List
-- Copyright : (c) 2015-2025 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>
-- Toni Cebrián <toni@tonicebrian.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns metadata about the search performed, metadata about the engine used for the search, and the search results. Uses a small set of url patterns.
--
-- /See:/ <https://developers.google.com/custom-search/v1/introduction Custom Search API Reference> for @search.cse.siterestrict.list@.
module Gogol.CustomSearch.Search.Cse.Siterestrict.List
( -- * Resource
SearchCseSiterestrictListResource,
-- ** Constructing a Request
SearchCseSiterestrictList (..),
newSearchCseSiterestrictList,
)
where
import Gogol.CustomSearch.Types
import Gogol.Prelude qualified as Core
-- | A resource alias for @search.cse.siterestrict.list@ method which the
-- 'SearchCseSiterestrictList' request conforms to.
type SearchCseSiterestrictListResource =
"customsearch"
Core.:> "v1"
Core.:> "siterestrict"
Core.:> Core.QueryParam "$.xgafv" Xgafv
Core.:> Core.QueryParam "access_token" Core.Text
Core.:> Core.QueryParam "c2coff" Core.Text
Core.:> Core.QueryParam "callback" Core.Text
Core.:> Core.QueryParam "cr" Core.Text
Core.:> Core.QueryParam "cx" Core.Text
Core.:> Core.QueryParam "dateRestrict" Core.Text
Core.:> Core.QueryParam "enableAlternateSearchHandler" Core.Bool
Core.:> Core.QueryParam "exactTerms" Core.Text
Core.:> Core.QueryParam "excludeTerms" Core.Text
Core.:> Core.QueryParam "fileType" Core.Text
Core.:> Core.QueryParam "filter" Core.Text
Core.:> Core.QueryParam "gl" Core.Text
Core.:> Core.QueryParam "googlehost" Core.Text
Core.:> Core.QueryParam "highRange" Core.Text
Core.:> Core.QueryParam "hl" Core.Text
Core.:> Core.QueryParam "hq" Core.Text
Core.:> Core.QueryParam
"imgColorType"
CseSiterestrictListImgColorType
Core.:> Core.QueryParam
"imgDominantColor"
CseSiterestrictListImgDominantColor
Core.:> Core.QueryParam
"imgSize"
CseSiterestrictListImgSize
Core.:> Core.QueryParam
"imgType"
CseSiterestrictListImgType
Core.:> Core.QueryParam "linkSite" Core.Text
Core.:> Core.QueryParam "lowRange" Core.Text
Core.:> Core.QueryParam "lr" Core.Text
Core.:> Core.QueryParam "num" Core.Int32
Core.:> Core.QueryParam "orTerms" Core.Text
Core.:> Core.QueryParam "q" Core.Text
Core.:> Core.QueryParam
"relatedSite"
Core.Text
Core.:> Core.QueryParam
"rights"
Core.Text
Core.:> Core.QueryParam
"safe"
CseSiterestrictListSafe
Core.:> Core.QueryParam
"searchType"
CseSiterestrictListSearchType
Core.:> Core.QueryParam
"siteSearch"
Core.Text
Core.:> Core.QueryParam
"siteSearchFilter"
CseSiterestrictListSiteSearchFilter
Core.:> Core.QueryParam
"snippetLength"
Core.Int32
Core.:> Core.QueryParam
"sort"
Core.Text
Core.:> Core.QueryParam
"start"
Core.Word32
Core.:> Core.QueryParam
"uploadType"
Core.Text
Core.:> Core.QueryParam
"upload_protocol"
Core.Text
Core.:> Core.QueryParam
"alt"
Core.AltJSON
Core.:> Core.Get
'[Core.JSON]
Search
-- | Returns metadata about the search performed, metadata about the engine used for the search, and the search results. Uses a small set of url patterns.
--
-- /See:/ 'newSearchCseSiterestrictList' smart constructor.
data SearchCseSiterestrictList = SearchCseSiterestrictList
{ -- | V1 error format.
xgafv :: (Core.Maybe Xgafv),
-- | OAuth access token.
accessToken :: (Core.Maybe Core.Text),
-- | Enables or disables <https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch Simplified and Traditional Chinese Search>. The default value for this parameter is 0 (zero), meaning that the feature is enabled. Supported values are: * @1@: Disabled * @0@: Enabled (default)
c2coff :: (Core.Maybe Core.Text),
-- | JSONP
callback :: (Core.Maybe Core.Text),
-- | Restricts search results to documents originating in a particular country. You may use <https://developers.google.com/custom-search/docs/json_api_reference#booleanOperators Boolean operators> in the cr parameter\'s value. Google Search determines the country of a document by analyzing: * the top-level domain (TLD) of the document\'s URL * the geographic location of the Web server\'s IP address See the <https://developers.google.com/custom-search/docs/json_api_reference#countryCollections Country Parameter Values> page for a list of valid values for this parameter.
cr :: (Core.Maybe Core.Text),
-- | The Programmable Search Engine ID to use for this request.
cx :: (Core.Maybe Core.Text),
-- | Restricts results to URLs based on date. Supported values include: * @d[number]@: requests results from the specified number of past days. * @w[number]@: requests results from the specified number of past weeks. * @m[number]@: requests results from the specified number of past months. * @y[number]@: requests results from the specified number of past years.
dateRestrict :: (Core.Maybe Core.Text),
-- | Optional. Enables routing of Programmable Search Engine requests to an alternate search handler.
enableAlternateSearchHandler :: (Core.Maybe Core.Bool),
-- | Identifies a phrase that all documents in the search results must contain.
exactTerms :: (Core.Maybe Core.Text),
-- | Identifies a word or phrase that should not appear in any documents in the search results.
excludeTerms :: (Core.Maybe Core.Text),
-- | Restricts results to files of a specified extension. A list of file types indexable by Google can be found in Search Console <https://support.google.com/webmasters/answer/35287 Help Center>.
fileType :: (Core.Maybe Core.Text),
-- | Controls turning on or off the duplicate content filter. * See <https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering Automatic Filtering> for more information about Google\'s search results filters. Note that host crowding filtering applies only to multi-site searches. * By default, Google applies filtering to all search results to improve the quality of those results. Acceptable values are: * @0@: Turns off duplicate content filter. * @1@: Turns on duplicate content filter.
filter :: (Core.Maybe Core.Text),
-- | Geolocation of end user. * The @gl@ parameter value is a two-letter country code. The @gl@ parameter boosts search results whose country of origin matches the parameter value. See the <https://developers.google.com/custom-search/docs/json_api_reference#countryCodes Country Codes> page for a list of valid values. * Specifying a @gl@ parameter value should lead to more relevant results. This is particularly true for international customers and, even more specifically, for customers in English- speaking countries other than the United States.
gl :: (Core.Maybe Core.Text),
-- | __Deprecated__. Use the @gl@ parameter for a similar effect. The local Google domain (for example, google.com, google.de, or google.fr) to use to perform the search.
googlehost :: (Core.Maybe Core.Text),
-- | Specifies the ending value for a search range. * Use @lowRange@ and @highRange@ to append an inclusive search range of @lowRange...highRange@ to the query.
highRange :: (Core.Maybe Core.Text),
-- | Sets the user interface language. * Explicitly setting this parameter improves the performance and the quality of your search results. * See the <https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages Interface Languages> section of <https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing Internationalizing Queries and Results Presentation> for more information, and <https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages Supported Interface Languages> for a list of supported languages.
hl :: (Core.Maybe Core.Text),
-- | Appends the specified query terms to the query, as if they were combined with a logical AND operator.
hq :: (Core.Maybe Core.Text),
-- | Returns black and white, grayscale, transparent, or color images. Acceptable values are: * @\"color\"@ * @\"gray\"@ * @\"mono\"@: black and white * @\"trans\"@: transparent background
imgColorType :: (Core.Maybe CseSiterestrictListImgColorType),
-- | Returns images of a specific dominant color. Acceptable values are: * @\"black\"@ * @\"blue\"@ * @\"brown\"@ * @\"gray\"@ * @\"green\"@ * @\"orange\"@ * @\"pink\"@ * @\"purple\"@ * @\"red\"@ * @\"teal\"@ * @\"white\"@ * @\"yellow\"@
imgDominantColor :: (Core.Maybe CseSiterestrictListImgDominantColor),
-- | Returns images of a specified size. Acceptable values are: * @\"huge\"@ * @\"icon\"@ * @\"large\"@ * @\"medium\"@ * @\"small\"@ * @\"xlarge\"@ * @\"xxlarge\"@
imgSize :: (Core.Maybe CseSiterestrictListImgSize),
-- | Returns images of a type. Acceptable values are: * @\"clipart\"@ * @\"face\"@ * @\"lineart\"@ * @\"stock\"@ * @\"photo\"@ * @\"animated\"@
imgType :: (Core.Maybe CseSiterestrictListImgType),
-- | Specifies that all search results should contain a link to a particular URL.
linkSite :: (Core.Maybe Core.Text),
-- | Specifies the starting value for a search range. Use @lowRange@ and @highRange@ to append an inclusive search range of @lowRange...highRange@ to the query.
lowRange :: (Core.Maybe Core.Text),
-- | Restricts the search to documents written in a particular language (e.g., @lr=lang_ja@). Acceptable values are: * @\"lang_ar\"@: Arabic * @\"lang_bg\"@: Bulgarian * @\"lang_ca\"@: Catalan * @\"lang_cs\"@: Czech * @\"lang_da\"@: Danish * @\"lang_de\"@: German * @\"lang_el\"@: Greek * @\"lang_en\"@: English * @\"lang_es\"@: Spanish * @\"lang_et\"@: Estonian * @\"lang_fi\"@: Finnish * @\"lang_fr\"@: French * @\"lang_hr\"@: Croatian * @\"lang_hu\"@: Hungarian * @\"lang_id\"@: Indonesian * @\"lang_is\"@: Icelandic * @\"lang_it\"@: Italian * @\"lang_iw\"@: Hebrew * @\"lang_ja\"@: Japanese * @\"lang_ko\"@: Korean * @\"lang_lt\"@: Lithuanian * @\"lang_lv\"@: Latvian * @\"lang_nl\"@: Dutch * @\"lang_no\"@: Norwegian * @\"lang_pl\"@: Polish * @\"lang_pt\"@: Portuguese * @\"lang_ro\"@: Romanian * @\"lang_ru\"@: Russian * @\"lang_sk\"@: Slovak * @\"lang_sl\"@: Slovenian * @\"lang_sr\"@: Serbian * @\"lang_sv\"@: Swedish * @\"lang_tr\"@: Turkish * @\"lang_zh-CN\"@: Chinese (Simplified) * @\"lang_zh-TW\"@: Chinese
-- (Traditional)
lr :: (Core.Maybe Core.Text),
-- | Number of search results to return. * Valid values are integers between 1 and 10, inclusive.
num :: (Core.Maybe Core.Int32),
-- | Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms.
orTerms :: (Core.Maybe Core.Text),
-- | Query
q :: (Core.Maybe Core.Text),
-- | Deprecated.
relatedSite :: (Core.Maybe Core.Text),
-- | Filters based on licensing. Supported values include: @cc_publicdomain@, @cc_attribute@, @cc_sharealike@, @cc_noncommercial@, @cc_nonderived@ and combinations of these. See <https://wiki.creativecommons.org/wiki/CC_Search_integration typical combinations>.
rights :: (Core.Maybe Core.Text),
-- | Search safety level. Acceptable values are: * @\"active\"@: Enables SafeSearch filtering. * @\"off\"@: Disables SafeSearch filtering. (default)
safe :: (Core.Maybe CseSiterestrictListSafe),
-- | Specifies the search type: @image@. If unspecified, results are limited to webpages. Acceptable values are: * @\"image\"@: custom image search.
searchType :: (Core.Maybe CseSiterestrictListSearchType),
-- | Specifies a given site which should always be included or excluded from results (see @siteSearchFilter@ parameter, below).
siteSearch :: (Core.Maybe Core.Text),
-- | Controls whether to include or exclude results from the site named in the @siteSearch@ parameter. Acceptable values are: * @\"e\"@: exclude * @\"i\"@: include
siteSearchFilter :: (Core.Maybe CseSiterestrictListSiteSearchFilter),
-- | Optional. Maximum length of snippet text, in characters, to be returned with results. Note: this feature is limited to specific engines. * Valid values are integers between 161 and 1000, inclusive.
snippetLength :: (Core.Maybe Core.Int32),
-- | The sort expression to apply to the results. The sort parameter specifies that the results be sorted according to the specified expression i.e. sort by date. <https://developers.google.com/custom-search/docs/structured_search#sort-by-attribute Example: sort=date>.
sort :: (Core.Maybe Core.Text),
-- | The index of the first result to return. The default number of results per page is 10, so @&start=11@ would start at the top of the second page of results. __Note__: The JSON API will never return more than 100 results, even if more than 100 documents match the query, so setting the sum of @start + num@ to a number greater than 100 will produce an error. Also note that the maximum value for @num@ is 10.
start :: (Core.Maybe Core.Word32),
-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
uploadType :: (Core.Maybe Core.Text),
-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
uploadProtocol :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'SearchCseSiterestrictList' with the minimum fields required to make a request.
newSearchCseSiterestrictList ::
SearchCseSiterestrictList
newSearchCseSiterestrictList =
SearchCseSiterestrictList
{ xgafv = Core.Nothing,
accessToken = Core.Nothing,
c2coff = Core.Nothing,
callback = Core.Nothing,
cr = Core.Nothing,
cx = Core.Nothing,
dateRestrict = Core.Nothing,
enableAlternateSearchHandler = Core.Nothing,
exactTerms = Core.Nothing,
excludeTerms = Core.Nothing,
fileType = Core.Nothing,
filter = Core.Nothing,
gl = Core.Nothing,
googlehost = Core.Nothing,
highRange = Core.Nothing,
hl = Core.Nothing,
hq = Core.Nothing,
imgColorType = Core.Nothing,
imgDominantColor = Core.Nothing,
imgSize = Core.Nothing,
imgType = Core.Nothing,
linkSite = Core.Nothing,
lowRange = Core.Nothing,
lr = Core.Nothing,
num = Core.Nothing,
orTerms = Core.Nothing,
q = Core.Nothing,
relatedSite = Core.Nothing,
rights = Core.Nothing,
safe = Core.Nothing,
searchType = Core.Nothing,
siteSearch = Core.Nothing,
siteSearchFilter = Core.Nothing,
snippetLength = Core.Nothing,
sort = Core.Nothing,
start = Core.Nothing,
uploadType = Core.Nothing,
uploadProtocol = Core.Nothing
}
instance Core.GoogleRequest SearchCseSiterestrictList where
type Rs SearchCseSiterestrictList = Search
type Scopes SearchCseSiterestrictList = '[]
requestClient SearchCseSiterestrictList {..} =
go
xgafv
accessToken
c2coff
callback
cr
cx
dateRestrict
enableAlternateSearchHandler
exactTerms
excludeTerms
fileType
filter
gl
googlehost
highRange
hl
hq
imgColorType
imgDominantColor
imgSize
imgType
linkSite
lowRange
lr
num
orTerms
q
relatedSite
rights
safe
searchType
siteSearch
siteSearchFilter
snippetLength
sort
start
uploadType
uploadProtocol
(Core.Just Core.AltJSON)
customSearchService
where
go =
Core.buildClient
(Core.Proxy :: Core.Proxy SearchCseSiterestrictListResource)
Core.mempty