   /// A human-friendly error description.
   var localizedDescription: String {
     let comment = "Moa image downloader error"
-    
+  
     switch self {
     case .invalidUrlString:
       return NSLocalizedString("Invalid URL.", comment: comment)
-      
+    
     case .httpStatusCodeIsNot200:
       return NSLocalizedString("Response HTTP status code is not 200.", comment: comment)
       

  }
  
  private static func createDataTask(urlObject: URL,
                                     onSuccess: @escaping (Data?, HTTPURLResponse)->(),
                                     onError: @escaping (Error?, HTTPURLResponse?)->()) -> URLSessionDataTask? {
    
    return MoaHttpSession.session?.dataTask(with: urlObject) { (data, response, error) in
      if let httpResponse = response as? HTTPURLResponse {
        if error == nil {

// MoaLoggerText.swift
//
// ----------------------------

import Foundation

/**

A helper function that creates a human readable text from log arguments.

Usage:

    Moa.logger = { type, url, statusCode, error in

      let text = MoaLoggerText(type: type, url: url, statusCode: statusCode, error: error)
      // Log log text to your destination
    }

For logging into Xcode console you can use MoaConsoleLogger function.

    Moa.logger = MoaConsoleLogger

*/
public func MoaLoggerText(_ type: MoaLogType, url: String, statusCode: Int?,
  error: Error?) -> String {
  
  let time = MoaTime.nowLogTime
  var text = "[moa] \(time) "
