summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/ios/Pods/GTMSessionFetcher/Source/GTMSessionFetcherLogging.h
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/ios/Pods/GTMSessionFetcher/Source/GTMSessionFetcherLogging.h')
-rw-r--r--StoneIsland/platforms/ios/Pods/GTMSessionFetcher/Source/GTMSessionFetcherLogging.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/StoneIsland/platforms/ios/Pods/GTMSessionFetcher/Source/GTMSessionFetcherLogging.h b/StoneIsland/platforms/ios/Pods/GTMSessionFetcher/Source/GTMSessionFetcherLogging.h
new file mode 100644
index 00000000..5ccea78e
--- /dev/null
+++ b/StoneIsland/platforms/ios/Pods/GTMSessionFetcher/Source/GTMSessionFetcherLogging.h
@@ -0,0 +1,112 @@
+/* Copyright 2014 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "GTMSessionFetcher.h"
+
+// GTM HTTP Logging
+//
+// All traffic using GTMSessionFetcher can be easily logged. Call
+//
+// [GTMSessionFetcher setLoggingEnabled:YES];
+//
+// to begin generating log files.
+//
+// Unless explicitly set by the application using +setLoggingDirectory:,
+// logs are put into a default directory, located at:
+// * macOS: ~/Desktop/GTMHTTPDebugLogs
+// * iOS simulator: ~/GTMHTTPDebugLogs (in application sandbox)
+// * iOS device: ~/Documents/GTMHTTPDebugLogs (in application sandbox)
+//
+// Tip: use the Finder's "Sort By Date" to find the most recent logs.
+//
+// Each run of an application gets a separate set of log files. An html
+// file is generated to simplify browsing the run's http transactions.
+// The html file includes javascript links for inline viewing of uploaded
+// and downloaded data.
+//
+// A symlink is created in the logs folder to simplify finding the html file
+// for the latest run of the application; the symlink is called
+//
+// AppName_http_log_newest.html
+//
+// For better viewing of XML logs, use Camino or Firefox rather than Safari.
+//
+// Each fetcher may be given a comment to be inserted as a label in the logs,
+// such as
+// [fetcher setCommentWithFormat:@"retrieve item %@", itemName];
+//
+// Projects may define STRIP_GTM_FETCH_LOGGING to remove logging code.
+
+#if !STRIP_GTM_FETCH_LOGGING
+
+@interface GTMSessionFetcher (GTMSessionFetcherLogging)
+
+// Note: on macOS the default logs directory is ~/Desktop/GTMHTTPDebugLogs; on
+// iOS simulators it will be the ~/GTMHTTPDebugLogs (in the app sandbox); on
+// iOS devices it will be in ~/Documents/GTMHTTPDebugLogs (in the app sandbox).
+// These directories will be created as needed, and are excluded from backups
+// to iCloud and iTunes.
+//
+// If a custom directory is set, the directory should already exist. It is
+// the application's responsibility to exclude any custom directory from
+// backups, if desired.
++ (void)setLoggingDirectory:(NSString *)path;
++ (NSString *)loggingDirectory;
+
+// client apps can turn logging on and off
++ (void)setLoggingEnabled:(BOOL)isLoggingEnabled;
++ (BOOL)isLoggingEnabled;
+
+// client apps can turn off logging to a file if they want to only check
+// the fetcher's log property
++ (void)setLoggingToFileEnabled:(BOOL)isLoggingToFileEnabled;
++ (BOOL)isLoggingToFileEnabled;
+
+// client apps can optionally specify process name and date string used in
+// log file names
++ (void)setLoggingProcessName:(NSString *)processName;
++ (NSString *)loggingProcessName;
+
++ (void)setLoggingDateStamp:(NSString *)dateStamp;
++ (NSString *)loggingDateStamp;
+
+// client apps can specify the directory for the log for this specific run,
+// typically to match the directory used by another fetcher class, like:
+//
+// [GTMSessionFetcher setLogDirectoryForCurrentRun:[GTMHTTPFetcher logDirectoryForCurrentRun]];
+//
+// Setting this overrides the logging directory, process name, and date stamp when writing
+// the log file.
++ (void)setLogDirectoryForCurrentRun:(NSString *)logDirectoryForCurrentRun;
++ (NSString *)logDirectoryForCurrentRun;
+
+// Prunes old log directories that have not been modified since the provided date.
+// This will not delete the current run's log directory.
++ (void)deleteLogDirectoriesOlderThanDate:(NSDate *)date;
+
+// internal; called by fetcher
+- (void)logFetchWithError:(NSError *)error;
+- (NSInputStream *)loggedInputStreamForInputStream:(NSInputStream *)inputStream;
+- (GTMSessionFetcherBodyStreamProvider)loggedStreamProviderForStreamProvider:
+ (GTMSessionFetcherBodyStreamProvider)streamProvider;
+
+// internal; accessors useful for viewing logs
++ (NSString *)processNameLogPrefix;
++ (NSString *)symlinkNameSuffix;
++ (NSString *)htmlFileName;
+
+@end
+
+#endif // !STRIP_GTM_FETCH_LOGGING