Aracılığıyla paylaş


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 bağlantı noktasında kullanılabilir.

Swagger

API, Swagger kullanılarak belgelenmiştir. Tarayıcınızda adresine giderek Swagger kullanıcı arabirimine http://localhost:<apiPort>/swagger erişebilirsiniz.

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

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
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
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
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"
}

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

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

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

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ı
audience 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