
O ResponsedEtive é uma estrutura não intrusiva para interceptar quaisquer solicitações de saída e respostas recebidas entre seu aplicativo e seu servidor para fins de depuração.
O ResponsedEtive é escrito no Swift 5.3 e suporta iOS 9.0+ , MacOS 10.10+ e TvOS 9.0+ .
A incorporação de responsabilidades em seu projeto é muito simples - tudo se resume a apenas duas etapas:
Para que o responsável pelo trabalho, ele precisa ser adicionado como intermediário entre o seu (NS)URLSession e a Internet. Você pode fazer isso registrando a classe de URLProtocol fornecida na sua sessão (NS)URLSessionConfiguration.protocolClasses ou usar um método de atalho:
// Objective-C
NSURLSessionConfiguration *configuration = [ NSURLSessionConfiguration defaultSessionConfiguration ];
[RDTResponseDetective enableInConfiguration: configuration];// Swift
let configuration = URLSessionConfiguration . default
ResponseDetective . enable ( inConfiguration : configuration ) Em seguida, você deve usar essa configuração com o seu (NS)URLSession :
// Objective-C
NSURLSession *session = [[ NSURLSession alloc ] initWithConfiguration: configuration];// Swift
let session = URLSession ( configuration : configuration ) Ou, se você estiver usando o Afnetworking / Alamofire como sua estrutura de rede, a integração do ResponsEDETECT se resume a apenas inicializar seu AFURLSessionManager / Manager com o (NS)URLSessionConfiguration :
// Objective-C (AFNetworking)
AFURLSessionManager *manager = [[AFURLSessionManager alloc ] initWithSessionConfiguration: configuration];// Swift (Alamofire)
let manager = Alamofire . SessionManager ( configuration : configuration )E isso é tudo!
Agora é hora de executar a solicitação real:
// Objective-C
NSURLRequest *request = [[ NSURLRequest alloc ] initWithURL: [ NSURL URLWithString: @" http://httpbin.org/get " ]];
[[session dataTaskWithRequest: request] resume ];// Swift
let request = URLRequest ( URL : URL ( string : " http://httpbin.org/get " ) ! )
session . dataTask ( with : request ) . resume ( )Voilà! ? Confira a saída do seu console:
<0x000000000badf00d> [REQUEST] GET https://httpbin.org/get
├─ Headers
├─ Body
│ <none>
<0x000000000badf00d> [RESPONSE] 200 (NO ERROR) https://httpbin.org/get
├─ Headers
│ Server: nginx
│ Date: Thu, 01 Jan 1970 00:00:00 GMT
│ Content-Type: application/json
├─ Body
│ {
│ "args" : {
│ },
│ "headers" : {
│ "User-Agent" : "ResponseDetective/1 CFNetwork/758.3.15 Darwin/15.4.0",
│ "Accept-Encoding" : "gzip, deflate",
│ "Host" : "httpbin.org",
│ "Accept-Language" : "en-us",
│ "Accept" : "*/*"
│ },
│ "url" : "https://httpbin.org/get"
│ }
Se você estiver usando o Cartago, adicione a seguinte dependência ao seu Cartfile :
github "netguru/ResponseDetective" ~> {version}
Se você estiver usando o Cocoapods, adicione a seguinte dependência ao seu Podfile :
use_frameworks!
pod 'ResponseDetective', '~> {version}'
Se você estiver usando o Swift Package Manager, adicione este repositório aos pacotes SWIFT nas configurações do seu projeto.
Para instalar as dependências do teste ou criar o próprio responsabilidade, não execute carthage diretamente. Ele não pode lidar com as arquiteturas Apple Silicon introduzidas no Xcode 12. Em vez disso, execute -o através do script carthage.sh :
$ ./carthage.sh bootstrapComo alternativa, você pode executar os testes localmente usando o Swift Package Manager com o seguinte comando:
$ swift test Este projeto foi feito com ♡ por Netguru.
A partir da versão 1.0.0, os lançamentos da ResponsedEtctive têm o nome de Sherlock Holmes Canon Stories, em ordem cronológica. O que acontece se chegarmos a 60 lançamentos e não há mais histórias? Não sabemos, talvez comecemos a nomeá -los depois de gatos ou algo assim.
Este projeto está licenciado sob licença do MIT . Consulte License.md para obter mais informações.