[Jrisk-cvs] SF.net SVN: jrisk-code:[1076] Grasshopper
Brought to you by:
yuranet
|
From: <yu...@us...> - 2025-10-08 21:27:44
|
Revision: 1076
http://sourceforge.net/p/jrisk/code/1076
Author: yuranet
Date: 2025-10-08 21:27:42 +0000 (Wed, 08 Oct 2025)
Log Message:
-----------
more fallbacks for sending
Modified Paths:
--------------
Grasshopper/build.xml
Grasshopper/src/net/yura/grasshopper/submitter/BugSubmitter.java
Grasshopper/test/net/yura/grasshopper/submitter/BugSubmitterTest.java
Modified: Grasshopper/build.xml
===================================================================
--- Grasshopper/build.xml 2025-10-08 20:37:45 UTC (rev 1075)
+++ Grasshopper/build.xml 2025-10-08 21:27:42 UTC (rev 1076)
@@ -282,6 +282,7 @@
</checksum>
<apply executable="gpg" failonerror="true">
+ <arg value="--yes"/><!-- we want to overwrite files -->
<arg value="-ab"/><!-- armor & detach-sign -->
<arg value="--passphrase"/>
<arg value="${maven.sign.password}"/>
Modified: Grasshopper/src/net/yura/grasshopper/submitter/BugSubmitter.java
===================================================================
--- Grasshopper/src/net/yura/grasshopper/submitter/BugSubmitter.java 2025-10-08 20:37:45 UTC (rev 1075)
+++ Grasshopper/src/net/yura/grasshopper/submitter/BugSubmitter.java 2025-10-08 21:27:42 UTC (rev 1076)
@@ -175,6 +175,7 @@
}
try {
+ // attempt 1
BugSubmitterMultipart.send(TF_MAIL_URL, map);
System.out.println("[grasshopper] send ok");
return true;
@@ -181,21 +182,49 @@
}
catch (Throwable th) {
try {
- map.put("grasshopperError", getStackTrace(th) );
- doPost(FORM_MAIL_URL, map);
+ // attempt 2
+ map.put("grasshopperError", getStackTrace(th));
+ BugSubmitterMultipart.send(getAlternativeURL(TF_MAIL_URL), map);
System.out.println("[grasshopper] send ok ish "+th);
return true;
}
catch(Throwable th2) {
- System.out.println("[grasshopper] errors sending: "+th+" AND "+th2);
- if (th instanceof javax.net.ssl.SSLHandshakeException) {
- System.out.println("[grasshopper] on iOS MOE intellij plugin XCodeproject must have 'Copy CA certificates' enabled");
+ try {
+ // attempt 3
+ doPost(FORM_MAIL_URL, map);
+ System.out.println("[grasshopper] fallback send ok "+th);
+ return true;
}
- return false;
+ catch(Throwable th3) {
+ try {
+ // attempt 4
+ doPost(getAlternativeURL(FORM_MAIL_URL), map);
+ System.out.println("[grasshopper] fallback send ok ish "+th+" AND "+th3);
+ return true;
+ }
+ catch(Throwable th4) {
+ System.out.println("[grasshopper] errors sending: "+th+" AND "+th2 +" AND "+ th3+" AND "+th4);
+ if (th instanceof javax.net.ssl.SSLHandshakeException) {
+ // this also happens on old versions of android
+ System.out.println("[grasshopper] on iOS MOE intellij plugin XCodeproject must have 'Copy CA certificates' enabled");
+ }
+ return false;
+ }
+ }
}
}
}
+ static String getAlternativeURL(String url) {
+ if (url.startsWith("https:")) {
+ return "http:" + url.substring(6);
+ }
+ if (url.startsWith("http:")) {
+ return "https:" + url.substring(5);
+ }
+ throw new IllegalArgumentException("unsupported url " + url);
+ }
+
public static String getStackTrace(Throwable th) {
StringWriter error = new StringWriter();
th.printStackTrace( new PrintWriter(error) );
Modified: Grasshopper/test/net/yura/grasshopper/submitter/BugSubmitterTest.java
===================================================================
--- Grasshopper/test/net/yura/grasshopper/submitter/BugSubmitterTest.java 2025-10-08 20:37:45 UTC (rev 1075)
+++ Grasshopper/test/net/yura/grasshopper/submitter/BugSubmitterTest.java 2025-10-08 21:27:42 UTC (rev 1076)
@@ -153,4 +153,9 @@
assertFalse(extraInfoCalled.get());
}
+
+ public void testAlternativeURL() {
+ assertEquals("http://thing.com/stuff",BugSubmitter.getAlternativeURL("https://thing.com/stuff"));
+ assertEquals("https://thing.com/stuff",BugSubmitter.getAlternativeURL("http://thing.com/stuff"));
+ }
}
|