Edge Acceleration
  • Site Acceleration
    • Overview
    • Quickly Import and Export Site Configuration
    • Access Control
      • Token Authentication
    • Smart Acceleration
    • File Optimization
      • Smart Compression
    • Network Optimization
      • HTTP/2
      • HTTP/3(QUIC)
        • Overview
        • Enable HTTP/3
        • QUIC SDK
          • SDK Overview
          • SDK Download and Integration
          • Sample Code
            • Android
            • iOS
          • API Documentation
            • Android
            • iOS
      • IPv6 Access
      • Maximum Upload Size
      • WebSocket
      • Client IP Geolocation Header
      • Client IP Geographical Location
      • gRPC
    • URL Rewrite
      • Access URL Redirection
      • Origin-Pull URL Rewrite
    • Modifying Header
      • Modifying HTTP Response Headers
      • Modifying HTTP Request Headers
    • Custom Error Page
    • Request and Response Actions
      • Processing order
      • Default HTTP Headers of Origin-Pull Requests
      • Default HTTP Response Headers
    • Media Services
      • Audio and Video Pre-pulling
      • Just-in-Time Image Processing
      • Just-in-Time Media Processing
      • VOD Media Origin
  • L4 Proxy
    • Overview
    • Creating an L4 Proxy Instance
    • Modifying an L4 Proxy Instance
    • Disabling or Deleting an L4 Proxy Instance
    • Batch Configuring Forwarding Rules
    • Obtaining Real Client IPs
      • Obtaining Real TCP Client IPs via TOA
      • Obtaining Real Client IPs Through Protocol V1/V2
        • Overview
        • Method 1: Obtaining Real Client IPs Through Nginx
        • Method 2: Parsing Real Client IPs on Application Server
        • Format of Real Client IPs Obtained Through Proxy Protocol V1/V2
      • Transmitting Client Real IP via SPP Protocol
  • Edge DNS
    • Hosting DNS Records
      • Modifying DNS Servers
      • Configuring DNS Records
      • Advanced DNS Configuration
    • Domain Connection
      • Adding A Domain Name for Acceleration
      • Ownership Verification
      • Modifying CNAME Records
    • Domain alias
      • Overview
      • Configuration Guide
      • Batch Connecting SaaS Domain Names
      • Configuring Alias Domain Names for Disaster Recovery
    • Traffic Scheduling
      • Traffic Scheduling Management
    • Origin Configuration
      • Origin-pull configuration
        • Configuring Origin-Pull HTTPS
        • Host Header Rewrite
        • Controlling Origin-pull Requests
        • Redirect Following During Origin-Pull
        • HTTP/2 Origin-Pull
        • Range GETs
      • Load Balancing
        • Overview
        • Quickly Create Load Balancers
        • Health Check Policies
        • Viewing the Health Status of Origin Server
        • Related References
          • Load Balancing-Related Concepts
          • Introduction to Request Retry Strategy
      • Origin Group Configuration
      • Related References
        • ld Version Origin Group Compatible Related Issues
      • Collect EdgeOne origin-pull node IP
  • Edge Cache
    • Overview
    • EdgeOne Cache Rules
      • Content Cache Rules
      • Cache Key Introduction
      • Vary Feature
    • Cache Configuration
      • Custom Cache Key
      • Node Cache TTL
      • Status Code Cache TTL
      • Browser Cache TTL
      • Offline Caching
      • Cache Prefresh
    • Clear and Preheat Cach
      • Cache Purge
      • URL Pre-Warming
    • How to improve the Cache Hit Rate of EdgeOne
  • Rules Engine
    • Overview
    • Supported Matching Types and Actions
    • Rule Management
    • variables
이 페이지는 현재 영어로만 제공되며 한국어 버전은 곧 제공될 예정입니다. 기다려 주셔서 감사드립니다.

iOS

The following code shows how to create QUIC requests with the iOS client. For details of the API description, see iOS APIs.

Creating GET Requests

// Session configuration
TQUICURLSessionConfiguration *quicSessionConfiguration = [TQUICURLSessionConfiguration defaultConfiguration];
// Congestion control algorithm
quicSessionConfiguration.congestionType = TQUICCongestionTypeBBR;
// Connection timeout
quicSessionConfiguration.connectTimeoutMillis = 6 * 1000;
// Create SessionManager. See %!s(<nil>) for instructions.
TQUICHTTPSessionManager *quicSessionManager = [[TQUICHTTPSessionManager alloc] initWithSessionConfiguration:quicSessionConfiguration];
// (Optional) Serialize via TQUICHTTPRequestSerializer/TQUICHTTPResponseSerializer. See %!s(<nil>) for instructions.

// Initiate a GET request.
[quicSessionManager GET:@"url"
parameters:nil
headers:nil
timeoutInterval:0
downloadProgress:nil
success:^(TQUICURLSessionTask * _Nonnull task, id _Nullable responseObject) {
// When the request is executed successfully, it returns the response data.
// Get the response headers. Since this is an HTTP response, it can be converted into NSHTTPURLResponse.
NSDictionary *headers = [(NSHTTPURLResponse *)task.response allHeaderFields];
// Get the response body.
id body = responseObject;
} failure:^(TQUICURLSessionTask * _Nullable task, NSError * _Nonnull error) {
// When the request fails to be executed, it returns the error message.
NSInteger errorCode = error.code;
}];

Creating POST Requests

// Session configuration
TQUICURLSessionConfiguration *quicSessionConfiguration = [TQUICURLSessionConfiguration defaultConfiguration];
// Congestion control algorithm
quicSessionConfiguration.congestionType = TQUICCongestionTypeBBR;
// Connection timeout
quicSessionConfiguration.connectTimeoutMillis = 6 * 1000;
// Create SessionManager. See %!s(<nil>) for instructions.
TQUICHTTPSessionManager *quicSessionManager = [[TQUICHTTPSessionManager alloc] initWithSessionConfiguration:quicSessionConfiguration];
// (Optional) Serialize via TQUICHTTPRequestSerializer/TQUICHTTPResponseSerializer. See %!s(<nil>) for instructions.

// Construct body data.
NSData *bodyData;
// Initiate a POST request.
[quicSessionManager POST:@"url"
body:bodyData
headers:nil
timeoutInterval:timeInterval
uploadProgress:^(NSProgress * _Nonnull uploadProgress) {
        
    } success:^(TQUICURLSessionTask * _Nonnull task, id  _Nullable responseObject) {
// When the request is executed successfully, it returns the response data.
// Get the response body.
id body = responseObject;

    } failure:^(TQUICURLSessionTask * _Nullable task, NSError * _Nonnull error) {
// When the request fails to be executed, it returns the error message.
NSInteger errorCode = error.code;
}];

Canceling Requests

// Create SessionManager.

...
// Initiate a request via SessionDataTask. See %!s(<nil>) for instructions.
TQUICURLSessionDataTask *dataTask =
[quicSessionManager dataTaskWithRequest:request
                   uploadProgress:nil
                       downloadProgress:nil
                  completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

// Run callback after the request has finished.

}];

//Send the request.
[dataTask resume];

//Cancel the request.
[dataTask cancel];