You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

This section will describe the Aspire REST API Endpoints uses by the UI.

On this page

General Requests

check

Performs a status check of the component in Aspire, the output depends on the type of check.

GET /aspire?cmd=check

  • Headers
    • Set-Cookie ( type=string | default=aspire-session-id=SESSION_COOKIE | optional ) - Only if security is enabled
  • Parameters:
    • type ( type=string | required )
      • nonSQL ( type=string | optional ) - Checks connection to NonSQL database
      • connection ( type=string | optional ) - Checks connection to Aspire
      • serverVersion ( type=string | optional ) - Checks the Aspire version
    • json ( type=integer | default=0 | optional ) - if 1, the response will be JSON instead of XML.

Output:

  • If security is enabled, a new aspire-session-id cookie will be returned along the regular response.

nonSQL
<result application="/aspire" outcome="ok" server="http://localhost:50505">
   <params>
      <param name="servlet_scheme">http</param>
      <param name="cmd">check</param>
      <param name="type">nonSQL</param>
   </params>
   <check>true</check>
</result>
connection
<result application="/aspire" outcome="ok" server="http://localhost:50505">
   <params>
      <param name="servlet_scheme">http</param>
      <param name="cmd">check</param>
      <param name="type">connection</param>
   </params>
   <check>true</check>
</result>
serverVersion
<result application="/aspire" outcome="ok" server="http://localhost:50505">
   <params>
      <param name="servlet_scheme">http</param>
      <param name="cmd">check</param>
      <param name="type">serverVersion</param>
   </params>
   <check>4.0-SNAPSHOT</check>
</result>
Json Output
{
  "result": {
    "params": {
      "param": [
        {
          "@name":"servlet_scheme",
          "$": "http"
        },
        {
          "@name":"json",
          "$": "1"
        },
        {
          "@name":"cmd",
          "$":"check"
        },
        {
          "@name":"type",
          "$":"connection"
        }
      ]
    },
    "check": true,
    "@outcome": "ok",
    "@server":"http://localhost:50505",
    "@application":"/aspire"
  }
}


Application Requests

getAvailableApplications 

Retrieves information related to the available applications.

POST /aspire?cmd=getAvailableApplications

  • Headers
    • Content-Type ( type=string | default=application/x-www-form-urlencoded;charset=UTF-8 | required )
    • Set-Cookie ( type=string | default=aspire-session-id=SESSION_COOKIE | optional ) - Only if security is enabled
  • Parameters:
    • type ( type=string | required ) - type of the application
      • connector ( type=string | optional ) - Get a list of the available connectors
      • publisher ( type=string | optional ) - Get a list of the available publishers
      • application ( type=string | optional ) - Get a list of the available applications
      • big_data ( type=string | optional ) - Get a list of the available big data applications
      • service ( type=string | optional ) - Get a list of the available services
    • refresh ( type=boolean | default=true|false | required ) - If true Aspire will force a download the list, otherwise will use the local list
    • json ( type=integer | default=0 | optional ) - if 1, the response will be JSON instead of XML.

Output:

  • If security is enabled, a new aspire-session-id cookie will be returned along the regular response.

connector
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="refresh">false</param>
        <param name="cmd">getAvailableApplications</param>
        <param name="type">connector</param>
    </params>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.aspire-snapshot-rdbms-source" isRAP="true" name="RDB via Snapshots">com.searchtechnologies.aspire:aspire-snapshot-rdbms-source</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.aspire-filesystem-source" isRAP="true" name="File System">com.searchtechnologies.aspire:aspire-filesystem-source</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.aspire-cifs-source" isRAP="true" name="CIFS Connector">com.searchtechnologies.aspire:aspire-cifs-source</appbundle>
    <appbundle available="false" icon="NOT-AVAILABLE" name="RightNow">com.searchtechnologies.aspire:aspire-rightnow-source</appbundle>
    <appbundle available="true" custom="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.aspire-jira-issue-source" isRAP="true" name="Aspire Jira Issue Source" typeFlags="scheduled,group-expansion">com.searchtechnologies.aspire:aspire-jira-issue-source:4.0-SNAPSHOT</appbundle>
</result>
publisher
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="refresh">false</param>
        <param name="cmd">getAvailableApplications</param>
        <param name="type">publisher</param>
    </params>
    <appbundle available="true" name="Publish To File">com.searchtechnologies.aspire:app-publish-to-file</appbundle>
    <appbundle available="true" name="Publish To GSA">com.searchtechnologies.aspire:app-publish-to-gsa</appbundle>
    <appbundle available="true" name="Publish To Solr">com.searchtechnologies.aspire:app-publish-to-solr</appbundle>
    <appbundle available="true" name="Publish to ElasticSearch">com.searchtechnologies.aspire:app-publish-to-elasticsearch</appbundle>
</result>
application
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="refresh">false</param>
        <param name="cmd">getAvailableApplications</param>
        <param name="type">application</param>
    </params>
    <appbundle available="true" name="Extract Text - Apache Tika">com.searchtechnologies.aspire:app-extract-text</appbundle>
    <appbundle available="true" name="Hierarchy Extractor">com.searchtechnologies.aspire:app-hierarchy-extractor</appbundle>
    <appbundle available="true" name="Mimetype Normalizer">com.searchtechnologies.aspire:app-mimetype-normalizer</appbundle>
</result>
big_data
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="refresh">false</param>
        <param name="cmd">getAvailableApplications</param>
        <param name="type">big_data</param>
    </params>
    <appbundle available="true" name="Phrase Extraction">com.searchtechnologies.aspire:app-phrase-extraction-hadoop</appbundle>
    <appbundle available="true" name="Phrase Statistics">com.searchtechnologies.aspire:app-phrase-statistics-hadoop</appbundle>
    <appbundle available="true" name="Export HDFS to Redis">com.searchtechnologies.aspire:app-hadoop-export-to-redis</appbundle>
    <appbundle available="true" name="Hadoop Job Launcher">com.searchtechnologies.aspire:app-hadoop-job-launcher</appbundle>
    <appbundle available="true" name="HDFS Tools">com.searchtechnologies.aspire:app-hdfs-hadoop</appbundle>
    <appbundle available="true" name="Redis Bitmap Calculator">com.searchtechnologies.aspire:app-redis-bitmap-calculator</appbundle>
    <appbundle available="true" name="Token Processing">com.searchtechnologies.aspire:app-token-processing-hadoop</appbundle>   
	<appbundle available="true" name="Token Statistics">com.searchtechnologies.aspire:app-token-statistics-hadoop</appbundle>
    <appbundle available="true" name="Co-occurrence">com.searchtechnologies.aspire:app-semantic-co-occurrence-hadoop</appbundle>
</result>
service
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="refresh">false</param>
        <param name="cmd">getAvailableApplications</param>
        <param name="type">service</param>
    </params>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-fast-listener" isRAP="false" name="Fast Content API">com.searchtechnologies.aspire:app-fast-listener</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-fast-query-listener" isRAP="false" name="Fast Query Listener">com.searchtechnologies.aspire:app-fast-query-listener</appbundle>
	<appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-ldap-services" isRAP="false" name="Ldap services">com.searchtechnologies.aspire:app-ldap-services</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-fast-completion-listener" isRAP="false" name="Fast Query Completion Listener">com.searchtechnologies.aspire:app-fast-completion-listener</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-jms-server" isRAP="false" name="JMS Server">com.searchtechnologies.aspire:app-jms-server</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-sp2013-cews-listener" isRAP="false" name="SharePoint 2013 CEWS listener">com.searchtechnologies.aspire:app-sp2013-cews-listener</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-azure-groupexpander" isRAP="false" name="Azure Group Expander" typeFlags="group-expansion,external-groups">com.searchtechnologies.aspire:app-azure-groupexpander</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-group-expansion-manager" isRAP="false" name="Group Expansion Manager" typeFlags="gem">com.searchtechnologies.aspire:app-group-expansion-manager</appbundle>
    <appbundle available="true" icon="aspire/files/entitlementsIcons/com.searchtechnologies.aspire.app-ldap-group-cache" isRAP="false" name="Ldap Cache" typeFlags="ldap-group-expansion,group-expansion,external-groups,attribute-server">com.searchtechnologies.aspire:app-ldap-group-cache</appbundle>
</result>
Json Output
{
  "result": {
    "params": {
      "param": [        
		{
          "@name":"servlet_scheme",
          "$": "http"
        },
        {
          "@name":"refresh",
          "$":"false"
        },
        {
          "@name":"json",
          "$": "1"
        },
        {
          "@name":"cmd",
          "$":"getAvailableApplications"
        },
        {
          "@name":"type",
          "$":"publisher"
        }
      ]
    },
    "appbundle": [
      {
        "@available":"true",
        "@name": "Publish To File",
        "$":"com.searchtechnologies.aspire:app-publish-to-file"
      },
      {
        "@available":"true",
        "@name": "Publish To GSA",
        "$":"com.searchtechnologies.aspire:app-publish-to-gsa"
      },
      {
        "@available":"true",
        "@name": "Publish To Solr",
        "$": "com.searchtechnologies.aspire:app-publish-to-solr"
      }
    ],
    "@outcome": "ok",
    "@server":"http://localhost:50505",
    "@application":"/aspire"
  }
}


Action Requests

triggerAction

Makes connectors perform specified actions.

POST /aspire?cmd=triggerAction

  • Headers:
    • Content-Type ( type=string | default=application/x-www-form-urlencoded;charset=UTF-8 | required )
    • Set-Cookie ( type=string | default=aspire-session-id=SESSION_COOKIE | optional ) - Only if security is enabled
  • Parameters:
    • action ( type=string | required ) - the action to perform
      • start ( type=string | optional ) - Start a crawl
      • resume ( type=string | optional ) - Resumes a paused crawl
      • pause ( type=string | optional ) - Pauses a started crawl
      • stop ( type=string | optional ) - Stops a started crawl
      • abort ( type=string | optional ) - Aborts a stopped crawl
      • activate ( type=string | optional ) - Enables a disabled content source
      • deactivate ( type=string | optional ) - Disables an enabled content source
      • delete ( type=string | optional ) - Deletes a content source
      • copy ( type=string | optional ) - Copies a content source
    • incremental ( type=boolean | default=true|false | required ) - If true an incremental crawl will run
      • Only applies for action start
    • csname ( type=string | required ) - Content source system name
    • json ( type=integer | default=0 | optional ) - if 1, the response will be JSON instead of XML.

Output:

  • If security is enabled, a new aspire-session-id cookie will be returned along the regular response.

start (full crawl)
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="cmd">triggerAction</param>
        <param name="action">start</param>
        <param name="csname">File_System</param>
    </params>
    <message>Content source 'File_System' started to crawl successfully</message>
</result>
start (incremental crawl)
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="action">start</param>
        <param name="cmd">triggerAction</param>
        <param name="incremental">true</param>
        <param name="csname">File_System</param>
    </params>
    <message>Content source 'File_System' started to crawl successfully</message>
</result>
resume
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="action">resume</param>
        <param name="cmd">triggerAction</param>
        <param name="csname">File_System</param>
    </params>
</result>
pause
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="action">pause</param>
        <param name="cmd">triggerAction</param>
        <param name="csname">File_System</param>
    </params>
</result>
stop
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="action">stop</param>
        <param name="cmd">triggerAction</param>
        <param name="csname">File_System</param>
    </params>
</result>
abort
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="action">abort</param>
        <param name="cmd">triggerAction</param>
        <param name="csname">File_System</param>
    </params>
</result>
activate
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="action">activate</param>
        <param name="cmd">triggerAction</param>
        <param name="csname">File_System</param>
    </params>
</result>
deactivate
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="action">deactivate</param>
        <param name="cmd">triggerAction</param>
        <param name="csname">File_System</param>
    </params>
</result>
delete
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="action">delete</param>
        <param name="cmd">triggerAction</param>
        <param name="csname">File_System</param>
    </params>
</result>
copy
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="cmd">triggerAction</param>
        <param name="action">copy</param>
        <param name="csname">File_System</param>
    </params>
</result>
Json Output
{
  "result": {
    "params": {
      "param": [
        {
          "@name":"servlet_scheme",
          "$": "http"
        },
        {
          "@name":"action",
          "$":"start"
        },
        {
          "@name":"json",
          "$": "1"
        },
        {
          "@name":"cmd",
          "$":"triggerAction"
        },
        {
          "@name":"csname",
          "$":"File_System"
        }
      ]
    },
    "message": "Content source 'File_System' started to crawl successfully",
    "@outcome": "ok",
    "@server": "http://localhost:50505",
    "@application": "/aspire"
  }
}


Statistics Requests

getStatistics 

Gets statistics from content sources or services.

GET /aspire?cmd=getStatistics

  • Headers:
    • Content-Type ( type=string | default=application/x-www-form-urlencoded;charset=UTF-8 | required )
    • Set-Cookie ( type=string | default=aspire-session-id=SESSION_COOKIE | optional ) - Only if security is enabled
  • Parameters:
    • csname ( type=string | required ) - Content source system name
    • timestamp ( type=integer | optional ) - timestamp of the statistic to retrieve, if omitted, the statistics of the latest crawl will be returned
    • refresh ( type=boolean | default=true|false | required ) - Forces a redownload of the statistics, only applies for latest statistic
    • json ( type=integer | default=0 | optional ) - if 1, the response will be JSON instead of XML.

Output:

  • If security is enabled, a new aspire-session-id cookie will be returned along the regular response.

getStatistics (specific)
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="cmd">getStatistics</param>
        <param name="csname">File_System</param>
        <param name="timestamp">1496682284898</param>
    </params>
    <statistics detailed="true">
        <status>S</status>      
		<startTime>1496682284898</startTime>       
		<endTime>1496682290104</endTime>       
		<crawlMode>F</crawlMode>
        <auditExists>true</auditExists>
        <summary cs="File_System" currentTime="1496683779292" endTime="1496682290104" mode="F" startTime="1496682284898" status="S">
            <queue>
                <scan scanned="1" scanning="0" toScan="0" total="1"/>
                <process processed="0" processing="0" toProcess="0" total="0"/>
            </queue>
            <inProgress adding="0" deleting="0" total="0" updating="0"/>
            <processed added="0" deleting="0" errored="0"excluded="0" terminated="0" total="0" unchanged="0" updated="0"/>
            <errors batch="0" document="0" scan="0" total="0"/>
        </summary>
        <statistics cs="File_System" currentTime="1496683779291" endTime="1496682290104" mode="F" processor="File_System-192.168.56.1:50505" server="192.168.56.1:50505" startTime="1496682284898" status="S">
            <queue>
                <scan scanned="1" scanning="0" toScan="0" total="1"/>
                <process processed="0" processing="0" toProcess="0" total="0"/>
            </queue>
            <inProgress adding="0" deleting="0" total="0" updating="0"/>
            <processed added="0" deleting="0" errored="0" excluded="0" terminated="0" total="0" unchanged="0" updated="0"/>
            <errors batch="0" document="0" scan="0" total="0"/> 
        </statistics>
        <scanned>           
			<directories>1</directories>
            <files>0</files>           
			<queued>0</queued>
        </scanned>
        <submitted>           
			<updates>0</updates>           
			<deletes>0</deletes>       
		</submitted>
        <completed>           
			<updates>0</updates>          
			<deletes>0</deletes>
        </completed>
        <errors>           
			<scanner>0</scanner>           
			<document>0</document>
            <batch>0</batch>
            <total>0</total>
        </errors>
    </statistics>
</result>
getStatistics (latest)
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="refresh">true</param>
        <param name="cmd">getStatistics</param>
        <param name="csname">File_System</param>
    </params>
    <statistics detailed="true">
        <status>S</status>       
		<startTime>1496682284898</startTime>       
		<endTime>1496682290104</endTime>       
		<crawlMode>F</crawlMode>       
		<auditExists>true</auditExists>
        <summary cs="File_System" currentTime="1496685238400" endTime="1496682290104" mode="F" startTime="1496682284898" status="S">
            <queue>
                <scan scanned="1" scanning="0" toScan="0" total="1"/>
                <process processed="0" processing="0" toProcess="0" total="0"/>
            </queue>
            <inProgress adding="0" deleting="0" total="0" updating="0"/>
            <processed added="0" deleting="0" errored="0" excluded="0" terminated="0" total="0" unchanged="0" updated="0"/>
            <errors batch="0" document="0" scan="0" total="0"/>
        </summary>
        <statistics cs="File_System" currentTime="1496685238399" endTime="1496682290104" mode="F" processor="File_System-192.168.56.1:50505" server="192.168.56.1:50505" startTime="1496682284898" status="S">
            <queue>
                <scan scanned="1" scanning="0" toScan="0" total="1"/>
                <process processed="0" processing="0" toProcess="0" total="0"/>
            </queue>
            <inProgress adding="0" deleting="0" total="0" updating="0"/>
            <processed added="0" deleting="0" errored="0" excluded="0" terminated="0" total="0" unchanged="0" updated="0"/>
            <errors batch="0" document="0" scan="0" total="0"/>
        </statistics>
        <scanned>
            <directories>1</directories>
            <files>0</files>           
			<queued>0</queued>
        </scanned>
        <submitted>           
			<updates>0</updates>           
			<deletes>0</deletes>
        </submitted>
        <completed>
            <updates>0</updates>           
			<deletes>0</deletes>
        </completed>
        <errors>           
			<scanner>0</scanner>           
			<document>0</document>
            <batch>0</batch>
            <total>0</total>
        </errors>
    </statistics>
</result>
Json Output
{
  "result": {
    "params": {
      "param": [
        {
          "@name":"servlet_scheme",
          "$": "http"
        },
        {
          "@name":"json",
          "$": "1"
        },
        {
          "@name":"refresh",
          "$":"false"
        },
        {
          "@name":"cmd",
          "$":"getStatistics"
        },
        {
          "@name":"csname",
          "$":"File_System"
        },
        {
          "@name":"timestamp",
          "$":"1496682284898"
        }
      ]
    },
    "statistics": {
      "@detailed": false,
      "status": "F",
      "startTime": 0,
      "currentTime":1496865535389,
      "crawlMode":"U",
      "auditExists": false,
      "scanned": {
        "directories": 0,
        "files": 0,
        "queued": 0
      },
      "submitted": {
        "updates": 0,
        "deletes": 0
      },
      "completed": {
        "updates": 0,
        "deletes": 0
      },
      "errors": {
        "scanner": 0,
        "document": 1,
        "batch": 0,
        "total": 1
      }
    },
    "@outcome": "ok",
    "@server":"http://localhost:50505",
    "@application":"/aspire"
  }
}

getHistoricalStatistics

Gets a list of the statistics of the previously run crawls of a content source

POST /aspire?cmd=getHistoricalStatistics

  • Headers:
    • Content-Type ( type=string | default=application/x-www-form-urlencoded;charset=UTF-8 | required )
    • Set-Cookie ( type=string | default=aspire-session-id=SESSION_COOKIE | optional ) - Only if security is enabled
  • Parameters:
    • csname ( type=string | required ) - Content source system name
    • json ( type=integer | default=0 | optional ) - if 1, the response will be JSON instead of XML.

Output:

  • If security is enabled, a new aspire-session-id cookie will be returned along the regular response.

historial
<result application="/aspire" outcome="ok" server="http://localhost:50505">
    <params>
        <param name="servlet_scheme">http</param>
        <param name="cmd">getHistoricalStatistics</param>
        <param name="csname">File_System</param>
    </params>
    <historicalStatistics>
        <crawlStatistics id="1496682284898">2017-06-05T11:04:44Z</crawlStatistics>
        <crawlStatistics id="1496685634351">2017-06-05T12:00:34Z</crawlStatistics>
    </historicalStatistics>
</result>
Json Output
{
  "result": {
    "params": {
      "param": [
        {
          "@name":"servlet_scheme",
          "$": "http"
        },
        {
          "@name":"json",
          "$": "1"
        },
        {
          "@name": "cmd",
          "$":"getHistoricalStatistics"
        },
        {
          "@name":"csname",
          "$":"File_System"
        }
      ]
    },
    "historicalStatistics": {
      "crawlStatistics": {
        "@id": 1496866152867,
        "$":"2017-06-07T14:09:12Z"
      }
    },
    "@outcome": "ok",
    "@server":"http://localhost:50505",
    "@application":"/aspire"
  }
}


Security Requests

Aspire Login

Authenticates the user and enables it to perform other requests.

POST /aspire/admin/ui/files/login.html

  • Parameters:
    • login ( type=boolean | default=true|false | required ) - Must set to true in order to login
    • username ( type=string | required ) - Aspire username
    • password ( type=string | required ) - User password
  • Important:
    • The sessions expire after 30 minutes of inactivity.
    • When security is enabled, and the session expires, all the Aspire requests will return a HTTP 401 response until a new session is established.


Output:

  • Aspire home page HTML, the aspire-session-id cookie to use on other requests.
Respose Header
Set-Cookie: 
aspire-session-id=encrypted:A0ACBB17DF478D0C69885219E2733E866A54DAC4E890913C2D309E3144058B4A3E81EAC1CA939408B2C020B5BABA4EFBC38601A927E54AE8230ACB7E55FEFE218151CA8447A71A0323B5F53FE3AA979817E76021B1734FE601487670AB01A94B5A6AE03B1A698EBA6D3C63EB6E98BC59E2383F3FA87ECF51587DE43FCD0560B7;path=/;HttpOnly




  • No labels