Proxy API'si

Dev Proxy, ara sunucuyla program aracılığıyla etkileşim kurmanızı sağlayan bir web API'si ile birlikte gelir. API, ara sunucu ayarlarında belirtilen IP adresinde ve bağlantı noktasında kullanılabilir.

Tüm API işlemleri için taşıyıcı belirteci gerekir. Dev Proxy, çalışan her örnek için benzersiz bir belirteç oluşturur ve bunu yalnızca örneği başlatan kullanıcının erişebileceği bir dosyada depolar. veya devproxy api tokenkullanarak devproxy status belirteci alın. CI Ortam değişkeni ayarlandığında, Dev Proxy belirteci durum ve başlangıç çıkışından atladığından kullanındevproxy api token.

Authorization başlığına belirteci ekleyin.

Authorization: Bearer <token>

Geçerli bir belirteci olmayan istekler döndürür 401 Unauthorized. Tarayıcı istekleri de ayarda apiAllowedOrigins listelenen bir kaynaktan gelmelidir. Diğer çıkış noktaları döndürür 403 Forbidden.

Operations

Aşağıdaki listede kullanılabilir API işlemleri gösterilmektedir.

GET /proxy

Şu anda çalışan Dev Proxy örneği hakkında bilgi içeren bir örneğini ProxyInfo döndürür.

Örnek: Şu anda çalışan Dev Proxy örneği hakkında bilgi alma

İstek:

GET http://localhost:8897/proxy
Authorization: Bearer <token>

Yanıt:

200 OK

{
  "recording": false,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

POST /proxy

Şu anda çalışan Dev Proxy örneğini denetler.

Örnek: kaydı başlatma

İstek:

POST http://localhost:8897/proxy
Authorization: Bearer <token>
content-type: application/json

{
  "recording": true
}

Yanıt:

200 OK

{
  "recording": true,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

Örnek: kaydı durdurma

İstek:

POST http://localhost:8897/proxy
Authorization: Bearer <token>
content-type: application/json

{
  "recording": false
}

Yanıt:

200 OK

{
  "recording": false,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

POST /proxy/jwtToken

JSON Web Belirteci (JWT) oluşturur.

İstek:

POST http://localhost:8897/proxy/jwtToken
Authorization: Bearer <token>
Content-Type: application/json

{
  "name": "Dev Proxy",
  "audiences": [
    "https://myserver.com"
  ],
  "issuer": "dev-proxy",
  "roles": [
    "admin"
  ],
  "scopes": [
    "Post.Read",
    "Post.Write"
  ],
  "claims": {
    "claim1": "value",
    "claim2": "value"
  },
  "validFor": 60
}

Not

Kayıtlı talepler (örneğin, iss, sub, aud, exp, nbf, iat, ), jtibelirteçe otomatik olarak eklenir. İstekte bu taleplerden herhangi birini belirtirseniz, API sağladığınız değerleri yoksayar.

Yanıt:

200 OK

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}

GET /proxy/logs

Dev Proxy günlük çıkışını döndürür. Komutun eşdeğeri logs . Bu uç nokta yalnızca Dev Proxy ayrılmış modda çalıştığında kullanılabilir. Aksi takdirde, API döndürür 404 Not Found.

Sorgu parametresi Açıklama Varsayılan
lines Günlüğün sonundan döndürülecek satır sayısı 50
follow olduğunda true, yeni günlük satırlarını sunucu tarafından gönderilen olaylar olarak akışla aktarır false
since Yalnızca belirtilen süreden bu yana günlüğe kaydedilen satırları döndürür. Süre (örneğin, 30s, 5m, 1h, 1d) veya zaman damgası (örneğin, 2026-01-24T14:00:00) kullanın n/a

Varsayılan olarak, API günlük satırlarını düz metin olarak döndürür. Günlük girdilerinden oluşan bir JSON dizisi almak için üst bilgiyi olarak application/jsonayarlayınAccept. Günlük satırlarını sunucu tarafından gönderilen olaylar olarak akışa almak için üst bilgiyi olarak text/event-stream ayarlayın Accept veya olarak trueayarlayınfollow.

İstek:

GET http://localhost:8897/proxy/logs?lines=10
Authorization: Bearer <token>

Yanıt:

200 OK
content-type: text/plain

[last 10 lines of the Dev Proxy log]

POST /proxy/mockrequest

Sahte bir istek oluşturur. Dev Proxy'nin çalıştığı konsolda w tuşuna basmanın eşdeğeri.

İstek:

POST http://localhost:8897/proxy/mockrequest
Authorization: Bearer <token>

Yanıt:

202 Accepted

GET /proxy/rootCertificate?format=crt

Geliştirme Proxy'sinin HTTPS isteklerinin şifresini çözmek için kullandığı PEM (Gizlilik Geliştirilmiş Posta) biçiminde kök sertifikanın ortak anahtarını indirir. Bu API, Docker kapsayıcısında Dev Proxy çalıştırırken ana bilgisayarınızdaki kök sertifikaya güvenmek istediğinizde yararlıdır.

Şu anda desteklenen tek biçimdir crt. Başka bir biçim belirtirseniz veya hiç biçim belirtmezseniz API 400 Hatalı İstek hatası döndürür.

İstek:

GET http://localhost:8897/proxy/rootCertificate?format=crt
Authorization: Bearer <token>

Yanıt:

content-type: application/x-x509-ca-cert

-----BEGIN CERTIFICATE-----
[base64 encoded certificate]
-----END CERTIFICATE-----

POST /proxy/stopproxy

Geliştirme Proxy'sini düzgün bir şekilde kapatır.

İstek:

POST http://localhost:8897/proxy/stopproxy
Authorization: Bearer <token>

Yanıt:

202 Accepted

Modeller

ProxyInfo

Şu anda çalışan Dev Proxy örneği hakkında bilgi.

Özellik Türü Açıklama
recording boolean Proxy'nin şu anda istekleri kaydedip kaydetmediği
configFile string Dev Proxy'nin kullandığı yapılandırma dosyasının yolu (salt okunur)

JwtOptions

JWT belirteci oluşturma seçenekleri.

Özellik Türü Açıklama
name string Belirteci oluşturulacak kullanıcının adı
audiences string[] Belirteci oluşturmak için hedef kitleler
issuer string Belirtecin vereni
roles string[] Belirteci eklemek için bir rol talebi
scopes string[] Belirteçe eklenecek kapsam talebi
claims KeyValuePair Belirteci ekleme talepleri
validFor number Belirtecin geçerli olduğu süre (dakika cinsinden)
signingKey string Belirteci imzalamak için kullanılacak anahtar. En az 32 karakter uzunluğunda olmalıdır. Belirtilmezse, rastgele oluşturulan bir anahtar kullanır.

JwtInfo

JWT belirteci hakkında bilgi.

Özellik Türü Açıklama
token string JWT belirteci