diff options
| -rw-r--r-- | rt-liberation-rest.el | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/rt-liberation-rest.el b/rt-liberation-rest.el index 5b3d0cb..2fbe8a6 100644 --- a/rt-liberation-rest.el +++ b/rt-liberation-rest.el @@ -63,6 +63,18 @@  	    "format=i" "&"  	    "orderby=+Created"))) +(defun rt-liber-rest-show-string (scheme url ticket-id-list username password query) +  "" +  (let ((user (url-encode-url username)) +	(pass (url-encode-url password))) +    (concat scheme +	    "://" +	    url +	    "/REST/1.0/ticket/" ticket-id-list +	    "/show" "?" +	    "user=" user "&" +	    "pass=" pass "&"))) +  (defun rt-liber-rest-call (url)    ""    (let ((url-request-method "POST")) @@ -88,6 +100,22 @@  				       rt-liber-rest-username  				       rt-liber-rest-password  				       query-string))) +	;; The "show" API call doesn't support getting multiple +	;; tickets at once. This is a problem. I've emailed the +	;; rt-users mailing list asking how to to this. +	;; +	;; A much more insidious method to figure this out is to +	;; wireshark the CLI connection as it asks for multiple +	;; tickets and see if we can capture the query the CLI +	;; uses. This would necessitate a non-HTTPS connection, such +	;; that the one to the demo servers. +	((string= op "show") +	 (rt-liber-rest-show-string rt-liber-rest-scheme +				    rt-liber-rest-url +				    query-string +				    rt-liber-rest-username +				    rt-liber-rest-password +				    query-string))  	(t (error "unknown op [%s]" op))))  (defun rt-liber-rest-parse-http-header () | 
