func applyEffect()

in application/PhotoToSketch/PhotoToSketch/EffectApplyScreen/EffectApplyViewController.swift [171:209]


	func applyEffect(effect : PhotoEffect){
		
		PhotoToSketchLoader.instance.showLoader()
		
		let imageData:Data = targetImage.pngData() ?? Data()
		let imageBase64 = imageData.base64EncodedString()
		let effectType = effect.id
		
		let parameters = "{\n    \"image\" : \"\(imageBase64)\",\n    \"effectType\" : \"\(effectType)\"\n}"
		let postData = parameters.data(using: .utf8)
		var request = URLRequest(url: URL(string: "https://v79143dgn5.execute-api.us-east-1.amazonaws.com/production/apply")!,timeoutInterval: Double.infinity)
		request.addValue("application/json", forHTTPHeaderField: "Content-Type")
		request.httpMethod = "POST"
		request.httpBody = postData
		let task = URLSession.shared.dataTask(with: request) { data, response, error in
			guard let data = data else {
				print(String(describing: error))
				PhotoToSketchLoader.instance.hideLoader()
				return
			}
			
			let stringResult = String(data: data, encoding: .utf8)!
			let jsonData = Data(stringResult.utf8)
			let responseObject: ResponseResult = try! JSONDecoder().decode(ResponseResult.self, from: jsonData)
			//print("RESULT : \(responseObject.image ?? "NO IMAGE")")
			
			DispatchQueue.main.async {
				let imgDecoded = self.decodeBase64(toImage: responseObject.image)
				let imgMirrored = UIImage(cgImage: imgDecoded.cgImage!, scale: 1.0, orientation: .leftMirrored)
				let resultImg = imgMirrored //.rotate(radians: .pi/2)
				self.processedImage = resultImg
				self.targetImageView.image = resultImg
				self.targetImageView.alpha = 1.0
			}
			
			PhotoToSketchLoader.instance.hideLoader()
		}
		task.resume()
	}