Skip to content

Commit fe6d777

Browse files
author
Josh Holtz
committed
Merge pull request #49 from joshdholtz/self-hosted-dns-is-now-right
Self-hosted instances now parse DNS correctly
2 parents 004699d + 5a7db10 commit fe6d777

File tree

10 files changed

+90
-37
lines changed

10 files changed

+90
-37
lines changed

.idea/encodings.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
jcenter()
66
}
77
dependencies {
8-
classpath 'com.android.tools.build:gradle:1.3.0'
8+
classpath 'com.android.tools.build:gradle:2.0.0'
99
// NOTE: Do not place your application dependencies here; they belong
1010
// in the individual module build.gradle files
1111

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Sun Dec 20 19:51:11 CST 2015
1+
#Mon May 09 11:11:40 CDT 2016
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

sentry-android/sentry-android.iml

+18-8
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@
1212
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
1313
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
1414
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15-
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
16-
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
1715
<afterSyncTasks>
18-
<task>generateDebugAndroidTestSources</task>
1916
<task>generateDebugSources</task>
2017
</afterSyncTasks>
2118
<option name="ALLOW_USER_CONFIGURATION" value="false" />
@@ -29,7 +26,7 @@
2926
</component>
3027
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
3128
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
32-
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
29+
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
3330
<exclude-output />
3431
<content url="file://$MODULE_DIR$">
3532
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
@@ -51,34 +48,47 @@
5148
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
5249
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
5350
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
51+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
52+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
53+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
54+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
55+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
56+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
57+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
5458
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
5559
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
5660
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
5761
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
5862
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
5963
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
6064
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
65+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
66+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
67+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
68+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
69+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
70+
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
71+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
6172
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
6273
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
6374
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
6475
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
6576
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
6677
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
6778
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
68-
<excludeFolder url="file://$MODULE_DIR$/build/docs" />
69-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
7079
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
80+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
7181
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
7282
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
7383
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
7484
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
85+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
7586
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
7687
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
7788
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
7889
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
79-
<excludeFolder url="file://$MODULE_DIR$/build/libs" />
90+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
8091
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
81-
<excludeFolder url="file://$MODULE_DIR$/build/poms" />
8292
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
8393
</content>
8494
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />

sentry-android/src/main/java/com/joshdholtz/sentry/Sentry.java

+25-12
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@
6161
import org.apache.http.params.BasicHttpParams;
6262
import org.apache.http.params.HttpConnectionParams;
6363
import org.apache.http.params.HttpParams;
64+
import org.apache.http.params.HttpProtocolParams;
65+
import org.apache.http.protocol.HTTP;
6466
import org.json.JSONArray;
6567
import org.json.JSONException;
6668
import org.json.JSONObject;
@@ -84,6 +86,8 @@ public class Sentry {
8486

8587
private Context context;
8688

89+
public static String sentryVersion = "7";
90+
8791
private String baseUrl;
8892
private String dsn;
8993
private String packageName;
@@ -106,13 +110,11 @@ private static class LazyHolder {
106110
}
107111

108112
public static void init(Context context, String dsn) {
109-
Sentry.init(context, DEFAULT_BASE_URL, dsn);
110-
}
111-
112-
public static void init(Context context, String baseUrl, String dsn) {
113113
Sentry.getInstance().context = context;
114114

115-
Sentry.getInstance().baseUrl = baseUrl;
115+
Uri uri = Uri.parse(dsn);
116+
117+
Sentry.getInstance().baseUrl = uri.getScheme() + "://" + uri.getHost();
116118
Sentry.getInstance().dsn = dsn;
117119
Sentry.getInstance().packageName = context.getPackageName();
118120
Sentry.getInstance().verifySsl = getVerifySsl(dsn);
@@ -134,7 +136,7 @@ private static int getVerifySsl(String dsn) {
134136
private static List<NameValuePair> getAllGetParams(String dsn) {
135137
List<NameValuePair> params = null;
136138
try {
137-
params = URLEncodedUtils.parse(new URI(dsn), "UTF-8");
139+
params = URLEncodedUtils.parse(new URI(dsn), HTTP.UTF_8);
138140
} catch (URISyntaxException e) {
139141
e.printStackTrace();
140142
}
@@ -162,14 +164,14 @@ private static String createXSentryAuthHeader() {
162164
String header = "";
163165

164166
Uri uri = Uri.parse(Sentry.getInstance().dsn);
165-
Log.d("Sentry", "URI - " + uri);
167+
166168
String authority = uri.getAuthority().replace("@" + uri.getHost(), "");
167169

168170
String[] authorityParts = authority.split(":");
169171
String publicKey = authorityParts[0];
170172
String secretKey = authorityParts[1];
171173

172-
header += "Sentry sentry_version=4,";
174+
header += "Sentry sentry_version=" + sentryVersion + ",";
173175
header += "sentry_client=sentry-android/" + VERSION + ",";
174176
header += "sentry_timestamp=" + System.currentTimeMillis() +",";
175177
header += "sentry_key=" + publicKey + ",";
@@ -403,28 +405,39 @@ private static void doCaptureEventPost(final SentryEventRequest request) {
403405
new AsyncTask<Void, Void, Void>(){
404406
@Override
405407
protected Void doInBackground(Void... params) {
406-
408+
409+
int projectId = Integer.parseInt(getProjectId());
410+
String url = Sentry.getInstance().baseUrl + "/api/" + projectId + "/store/";
411+
412+
Log.d(TAG, "Sending to URL - " + url);
413+
407414
HttpClient httpClient;
408415
if(Sentry.getInstance().verifySsl != 0) {
416+
Log.d(TAG, "Using http client");
409417
httpClient = new DefaultHttpClient();
410418
}
411419
else {
420+
Log.d(TAG, "Using https client");
412421
httpClient = getHttpsClient(new DefaultHttpClient());
413422
}
414-
HttpPost httpPost = new HttpPost(Sentry.getInstance().baseUrl + "/api/" + getProjectId() + "/store/");
423+
424+
HttpPost httpPost = new HttpPost(url);
415425

416426
int TIMEOUT_MILLISEC = 10000; // = 20 seconds
417427
HttpParams httpParams = httpPost.getParams();
418428
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
419429
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
420430

431+
HttpProtocolParams.setContentCharset(httpParams, HTTP.UTF_8);
432+
HttpProtocolParams.setHttpElementCharset(httpParams, HTTP.UTF_8);
433+
421434
boolean success = false;
422435
try {
423436
httpPost.setHeader("X-Sentry-Auth", createXSentryAuthHeader());
424437
httpPost.setHeader("User-Agent", "sentry-android/" + VERSION);
425-
httpPost.setHeader("Content-Type", "text/html; charset=utf-8");
438+
httpPost.setHeader("Content-Type", "application/json; charset=utf-8");
426439

427-
httpPost.setEntity(new StringEntity(request.getRequestData(), "utf-8"));
440+
httpPost.setEntity(new StringEntity(request.getRequestData(), HTTP.UTF_8));
428441
HttpResponse httpResponse = httpClient.execute(httpPost);
429442

430443
int status = httpResponse.getStatusLine().getStatusCode();

sentry-app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ android {
2222
}
2323

2424
dependencies {
25-
compile fileTree(include: ['*.jar'], dir: 'libs')
25+
compile fileTree(dir: 'libs', include: ['*.jar'])
2626
compile 'com.android.support:appcompat-v7:23.1.1'
27-
compile 'com.joshdholtz.sentry:sentry-android:1.2.0'
27+
compile project(':sentry-android')
2828
}

sentry-app/sentry-app.iml

+27-10
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@
1212
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
1313
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
1414
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15-
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
16-
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
1715
<afterSyncTasks>
18-
<task>generateDebugAndroidTestSources</task>
1916
<task>generateDebugSources</task>
2017
</afterSyncTasks>
2118
<option name="ALLOW_USER_CONFIGURATION" value="false" />
@@ -28,7 +25,7 @@
2825
</component>
2926
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
3027
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
31-
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
28+
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
3229
<exclude-output />
3330
<content url="file://$MODULE_DIR$">
3431
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
@@ -50,6 +47,13 @@
5047
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
5148
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
5249
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
50+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
51+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
52+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
53+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
54+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
55+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
56+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
5357
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
5458
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
5559
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
@@ -64,30 +68,43 @@
6468
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
6569
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
6670
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
71+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
72+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
73+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
74+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
75+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
76+
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
77+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
6778
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
79+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
80+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
81+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
6882
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
69-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/debug" />
7083
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
71-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
7284
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.1/jars" />
7385
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars" />
74-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.joshdholtz.sentry/sentry-android/1.2.0/jars" />
7586
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
87+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
88+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
89+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
90+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
91+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
7692
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
77-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
93+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
7894
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
95+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
7996
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
8097
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
81-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
98+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
8299
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
83100
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
84101
</content>
85102
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
86103
<orderEntry type="sourceFolder" forTests="false" />
87104
<orderEntry type="library" exported="" name="support-annotations-23.1.1" level="project" />
88105
<orderEntry type="library" exported="" name="support-v4-23.1.1" level="project" />
89-
<orderEntry type="library" exported="" name="sentry-android-1.2.0" level="project" />
90106
<orderEntry type="library" exported="" name="appcompat-v7-23.1.1" level="project" />
107+
<orderEntry type="module" module-name="sentry-android" exported="" />
91108
<orderEntry type="library" exported="" name="org.apache.http.legacy-android-23" level="project" />
92109
</component>
93110
</module>

sentry-app/src/main/java/com/joshdholtz/sentryapp/MainActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ protected void onCreate(Bundle savedInstanceState) {
1515
super.onCreate(savedInstanceState);
1616
setContentView(R.layout.activity_main);
1717

18-
String yourDSN = "https://74ad3a2738794210abad1300ae38b5d1:8504db06fd014286bb4e998fcc30b743@app.getsentry.com/61891";
18+
String yourDSN = "your-dsn";
1919
Sentry.init(this, yourDSN);
2020
Sentry.captureMessage("OMG this works woooo");
2121
}

0 commit comments

Comments
 (0)