185 lines
4.6 KiB
TypeScript
185 lines
4.6 KiB
TypeScript
import { APIResource } from "../../resource.js";
|
|
import * as Core from "../../core.js";
|
|
export declare class Traces extends APIResource {
|
|
/**
|
|
* Request Trace
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* const trace = await client.requestTracers.traces.create({
|
|
* account_id: '023e105f4ecef8ad9ca31a8372d0c353',
|
|
* method: 'PUT',
|
|
* url: 'https://some.zone/some_path',
|
|
* body: { base64: 'c29tZV9yZXF1ZXN0X2JvZHk=' },
|
|
* context: {
|
|
* geoloc: { city: 'London' },
|
|
* skip_challenge: true,
|
|
* },
|
|
* cookies: {
|
|
* cookie_name_1: 'cookie_value_1',
|
|
* cookie_name_2: 'cookie_value_2',
|
|
* },
|
|
* headers: {
|
|
* header_name_1: 'header_value_1',
|
|
* header_name_2: 'header_value_2',
|
|
* },
|
|
* protocol: 'HTTP/1.1',
|
|
* });
|
|
* ```
|
|
*/
|
|
create(params: TraceCreateParams, options?: Core.RequestOptions): Core.APIPromise<TraceCreateResponse>;
|
|
}
|
|
export type Trace = Array<TraceItem>;
|
|
/**
|
|
* List of steps acting on request/response
|
|
*/
|
|
export interface TraceItem {
|
|
/**
|
|
* If step type is rule, then action performed by this rule
|
|
*/
|
|
action?: string;
|
|
/**
|
|
* If step type is rule, then action parameters of this rule as JSON
|
|
*/
|
|
action_parameters?: unknown;
|
|
/**
|
|
* If step type is rule or ruleset, the description of this entity
|
|
*/
|
|
description?: string;
|
|
/**
|
|
* If step type is rule, then expression used to match for this rule
|
|
*/
|
|
expression?: string;
|
|
/**
|
|
* If step type is ruleset, then kind of this ruleset
|
|
*/
|
|
kind?: string;
|
|
/**
|
|
* Whether tracing step affected tracing request/response
|
|
*/
|
|
matched?: boolean;
|
|
/**
|
|
* If step type is ruleset, then name of this ruleset
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* Tracing step identifying name
|
|
*/
|
|
step_name?: string;
|
|
trace?: Trace;
|
|
/**
|
|
* Tracing step type
|
|
*/
|
|
type?: string;
|
|
}
|
|
/**
|
|
* Trace result with an origin status code
|
|
*/
|
|
export interface TraceCreateResponse {
|
|
/**
|
|
* HTTP Status code of zone response
|
|
*/
|
|
status_code?: number;
|
|
trace?: Trace;
|
|
}
|
|
export interface TraceCreateParams {
|
|
/**
|
|
* Path param: Identifier
|
|
*/
|
|
account_id: string;
|
|
/**
|
|
* Body param: HTTP Method of tracing request
|
|
*/
|
|
method: string;
|
|
/**
|
|
* Body param: URL to which perform tracing request
|
|
*/
|
|
url: string;
|
|
/**
|
|
* Body param:
|
|
*/
|
|
body?: TraceCreateParams.Body;
|
|
/**
|
|
* Body param: Additional request parameters
|
|
*/
|
|
context?: TraceCreateParams.Context;
|
|
/**
|
|
* Body param: Cookies added to tracing request
|
|
*/
|
|
cookies?: {
|
|
[key: string]: string;
|
|
};
|
|
/**
|
|
* Body param: Headers added to tracing request
|
|
*/
|
|
headers?: {
|
|
[key: string]: string;
|
|
};
|
|
/**
|
|
* Body param: HTTP Protocol of tracing request
|
|
*/
|
|
protocol?: string;
|
|
/**
|
|
* Body param: Skip sending the request to the Origin server after all rules
|
|
* evaluation
|
|
*/
|
|
skip_response?: boolean;
|
|
}
|
|
export declare namespace TraceCreateParams {
|
|
interface Body {
|
|
/**
|
|
* Base64 encoded request body
|
|
*/
|
|
base64?: string;
|
|
/**
|
|
* Arbitrary json as request body
|
|
*/
|
|
json?: unknown;
|
|
/**
|
|
* Request body as plain text
|
|
*/
|
|
plain_text?: string;
|
|
}
|
|
/**
|
|
* Additional request parameters
|
|
*/
|
|
interface Context {
|
|
/**
|
|
* Bot score used for evaluating tracing request processing
|
|
*/
|
|
bot_score?: number;
|
|
/**
|
|
* Geodata for tracing request
|
|
*/
|
|
geoloc?: Context.Geoloc;
|
|
/**
|
|
* Whether to skip any challenges for tracing request (e.g.: captcha)
|
|
*/
|
|
skip_challenge?: boolean;
|
|
/**
|
|
* Threat score used for evaluating tracing request processing
|
|
*/
|
|
threat_score?: number;
|
|
}
|
|
namespace Context {
|
|
/**
|
|
* Geodata for tracing request
|
|
*/
|
|
interface Geoloc {
|
|
city?: string;
|
|
continent?: string;
|
|
is_eu_country?: boolean;
|
|
iso_code?: string;
|
|
latitude?: number;
|
|
longitude?: number;
|
|
postal_code?: string;
|
|
region_code?: string;
|
|
subdivision_2_iso_code?: string;
|
|
timezone?: string;
|
|
}
|
|
}
|
|
}
|
|
export declare namespace Traces {
|
|
export { type Trace as Trace, type TraceItem as TraceItem, type TraceCreateResponse as TraceCreateResponse, type TraceCreateParams as TraceCreateParams, };
|
|
}
|
|
//# sourceMappingURL=traces.d.ts.map
|