From 9d100afe0340ee44a2265b42efc54a07e0fb44d6 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Fri, 14 Oct 2016 18:58:12 +0200 Subject: [PATCH] Start implementing Gerrit package --- gerrit/gerrit.el | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 gerrit/gerrit.el diff --git a/gerrit/gerrit.el b/gerrit/gerrit.el new file mode 100644 index 0000000..b50d383 --- /dev/null +++ b/gerrit/gerrit.el @@ -0,0 +1,30 @@ +(eval-when-compile (require 'cl)) + +(require 'request) + +(defun gerrit-json-read () + "Gerrit puts five extra chars (\")]}'\n\")at the beginning of + each JSON response for security reasons. All this function does + is it strips those chars before calling `json-read'" + + (goto-line 2) + (beginning-of-line) + (json-read)) + +(let ((username "epolger") + (password "EsthaiTh6Fu")) + (request + "https://gerrit.ericsson.se/a/changes/?q=status:open+owner:self" + :parser 'gerrit-json-read + :headers '(("Authorization" + (concat ("Basic " + (base64-encode-string (concat username + ":" + password)))))) + :success (function* (lambda (&key data &allow-other-keys) + (message "Success!") + (message "%s" data))) + :error (function* (lambda (&key error-thrown &allow-other-keys&rest _) + (message "Got error: %s" error-thrown))) + :complete (lambda (&rest _) (message "Finished!")) + :status-code '((401 . (lambda (&rest _) (message "Got 401"))))))