| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- //
- // FLEXCurlLogger.m
- //
- //
- // Created by Ji Pei on 07/27/16
- //
- #import "FLEXNetworkCurlLogger.h"
- @implementation FLEXNetworkCurlLogger
- + (NSString *)curlCommandString:(NSURLRequest *)request {
- __block NSMutableString *curlCommandString = [NSMutableString stringWithFormat:@"curl -v -X %@ ", request.HTTPMethod];
- [curlCommandString appendFormat:@"\'%@\' ", request.URL.absoluteString];
- [request.allHTTPHeaderFields enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *val, BOOL *stop) {
- [curlCommandString appendFormat:@"-H \'%@: %@\' ", key, val];
- }];
- NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:request.URL];
- if (cookies) {
- [curlCommandString appendFormat:@"-H \'Cookie:"];
- for (NSHTTPCookie *cookie in cookies) {
- [curlCommandString appendFormat:@" %@=%@;", cookie.name, cookie.value];
- }
- [curlCommandString appendFormat:@"\' "];
- }
- if (request.HTTPBody) {
- if ([request.allHTTPHeaderFields[@"Content-Length"] intValue] < 1024) {
- [curlCommandString appendFormat:@"-d \'%@\'",
- [[NSString alloc] initWithData:request.HTTPBody encoding:NSUTF8StringEncoding]];
- } else {
- [curlCommandString appendFormat:@"[TOO MUCH DATA TO INCLUDE]"];
- }
- }
- return curlCommandString;
- }
- @end
|