On Tue, May 13, 2014 at 09:39:59AM +0200, "Ákos, Tajti" wrote: > Dear List, > > we implemented our own git smart http server to be able to check permissions > and other thing before pushes. It works fine, however, the error messages we > generate on the server side are not displayed by the command line client. On > the server we generate error messages like this: > > response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); > response.getWriter().write(msg); > > On the command line we get this: > > Total 0 (delta 0), reused 0 (delta 0) > POST git-receive-pack (290 bytes) > efrror: RPC failed; result=22, HTTP code = 401 > atal: The remote end hung up unexpectedly > fatal: The remote end hung up unexpectedly > > The server message is completely missing. Is there a solution for this? It does look that way. Does the following patch work for you? -- >8 -- Subject: [PATCH] http: provide server's error message on RPC failure The server might provide a custom error message that is useful to the user. Provide this message to the user if HTTP RPC fails. Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> --- remote-curl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/remote-curl.c b/remote-curl.c index 52c2d96..5984d35 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -426,8 +426,8 @@ static int run_slot(struct active_request_slot *slot, err = run_one_slot(slot, results); if (err != HTTP_OK && err != HTTP_REAUTH) { - error("RPC failed; result=%d, HTTP code = %ld", - results->curl_result, results->http_code); + error("RPC failed; result=%d, HTTP code = %ld (%s)", + results->curl_result, results->http_code, curl_errorstr); } return err; -- >8 -- -- brian m. carlson / brian with sandals: Houston, Texas, US +1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
Attachment:
signature.asc
Description: Digital signature