protected virtual bool SyncSource(SourcePath target, byte[] data) { return(SyncSource(new SourcePath[] { target }, data)); }
//todo: this needs to run on separate thread probably private bool TryLoadSource(SourcePath p) { try { WWWForm post = null; WWW request = null; try { if (!p.isLocal) { if (p.hasPostData) { post = new WWWForm(); foreach (var field in p.getPostData()) { post.AddField(field.Key, field.Value); } } //l.w("(MSF)...isLocal == FALSE"); if (post != null) { //l.w("(MSF)...hasPost == TRUE. Making GET request"); request = new WWW(p.path, post); } else { //l.w("(MSF)...hasPost == FALSE. Making POST request"); request = new WWW(p.path); } //w.InitWWW(url, null, new string[] { "Request-Encoding: utf-8" }); while (request.isDone == false) { Thread.Sleep(100); } //l.w("(MSF)...source response recieved"); //l.w("(MSF)Content-Length: " + request.responseHeaders["Content-Length"]); //l.w("(MSF)Content-length: " + request.responseHeaders["Content-length"]); //l.w("(MSF)content-length: " + request.responseHeaders["content-length"]); file = request.bytes; RecieveTryLoadSource(request); //l.w("...MSF loaded and parsed"); return(true); } else { //l.w("(MSF)...isLocal == TRUE"); if (File.Exists(p.path)) { file = File.ReadAllBytes(p.path); using (FileStream src = File.OpenRead(p.path)) { RecieveTryLoadSource(src); } //l.w("...MSF loaded and parsed from " + p.path); } bytes = file; } } catch (Exception e) { Debug.Log("(MFS)Failed. Error: " + e.ToString()); } } catch (Exception e) { //todo: log the exception somewhere useful Debug.Log(e.ToString()); return(false); } return(false); }