@Override public Status upload(SQLiteDatabase db, long mID) { Status s; if ((s = connect()) != Status.OK) { return s; } TCX tcx = new TCX(db); HttpURLConnection conn = null; Exception ex = null; try { StringWriter writer = new StringWriter(); tcx.export(mID, writer); conn = (HttpURLConnection) new URL(UPLOAD_URL).openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); addCookies(conn); Part<StringWritable> part1 = new Part<StringWritable>( "responseContentType", new StringWritable(FormCrawler.URLEncode("text/html"))); Part<StringWritable> part2 = new Part<StringWritable>("data", new StringWritable(writer.toString())); part2.filename = "RunnerUp.tcx"; part2.contentType = "application/octet-stream"; Part<?> parts[] = {part1, part2}; postMulti(conn, parts); int responseCode = conn.getResponseCode(); String amsg = conn.getResponseMessage(); if (responseCode == 200) { conn.disconnect(); return Status.OK; } ex = new Exception(amsg); } catch (IOException e) { ex = e; } s = Uploader.Status.ERROR; s.ex = ex; if (ex != null) { ex.printStackTrace(); } return s; }
@Override public void logout() { super.logout(); }