Skip to content

Instantly share code, notes, and snippets.

@ryanbateman
Created May 24, 2013 14:17
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ryanbateman/5643826 to your computer and use it in GitHub Desktop.
Save ryanbateman/5643826 to your computer and use it in GitHub Desktop.
Log out a Volley request as a curl command
private void logToCurlRequest(Request<?> request) {
StringBuilder builder = new StringBuilder();
builder.append("curl request: curl ");
builder.append("-X \"");
switch (request.getMethod()) {
case Method.POST:
builder.append("POST");
break;
case Method.GET:
builder.append("GET");
break;
case Method.PUT:
builder.append("PUT");
break;
case Method.DELETE:
builder.append("DELETE");
break;
}
builder.append("\"");
try {
if (request.getBody() != null) {
builder.append(" -D ");
String data = new String(request.getBody());
data = data.replaceAll("\"", "\\\"");
builder.append("\"");
builder.append(data);
builder.append("\"");
}
for (String key : request.getHeaders().keySet()) {
builder.append(" -H '");
builder.append(key);
builder.append(": ");
builder.append(request.getHeaders().get(key));
builder.append("'");
}
builder.append(" \"");
builder.append(request.getUrl());
builder.append("\"");
VolleyLog.v(builder.toString());
} catch (AuthFailureError e) {
VolleyLog.wtf("Unable to get body of response or headers for curl logging");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment