Adding REST services as org-mode blocks
I've now used this twice to investigate and document a new API.
This commit is contained in:
		
							parent
							
								
									450dfe043e
								
							
						
					
					
						commit
						5329879253
					
				
					 1 changed files with 47 additions and 0 deletions
				
			
		
							
								
								
									
										47
									
								
								ha-org.org
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								ha-org.org
									
									
									
									
									
								
							|  | @ -349,6 +349,53 @@ And turn on ALL the languages: | ||||||
|                                  (css        . t) |                                  (css        . t) | ||||||
|                                  (plantuml   . t))) |                                  (plantuml   . t))) | ||||||
| #+END_SRC | #+END_SRC | ||||||
|  | *** REST Web Services | ||||||
|  | :PROPERTIES: | ||||||
|  | :header-args: :var user-agent="my-super-agent" | ||||||
|  | :END: | ||||||
|  | There are many ways in Emacs to query to investigate REST-oriented web services. The [[https://github.com/zweifisch/ob-http][ob-http]] adds HTTP calls to standard org blocks. | ||||||
|  | #+begin_src emacs-lisp | ||||||
|  |   (use-package ob-http | ||||||
|  |     :init | ||||||
|  |     (add-to-list 'org-babel-load-languages '(http . t))) | ||||||
|  | #+end_src | ||||||
|  | And let’s see how it works: | ||||||
|  | #+begin_src http :pretty :results value replace :wrap src js | ||||||
|  |   GET https://api.github.com/repos/zweifisch/ob-http/languages | ||||||
|  |   Accept: application/json | ||||||
|  |   User-Agent: ${user-agent} | ||||||
|  | #+end_src | ||||||
|  | 
 | ||||||
|  | #+results: | ||||||
|  | #+begin_src js | ||||||
|  | { | ||||||
|  |   "Emacs Lisp": 15327, | ||||||
|  |   "Shell": 139 | ||||||
|  | } | ||||||
|  | #+end_src | ||||||
|  | 
 | ||||||
|  | Another approach is [[https://github.com/alf/ob-restclient.el][ob-restclient]], that may be based on the [[https://github.com/pashky/restclient.el][restclient]] project. | ||||||
|  | #+begin_src emacs-lisp | ||||||
|  |   (use-package ob-restclient | ||||||
|  |     :init | ||||||
|  |     (add-to-list 'org-babel-load-languages '(restclient . t))) | ||||||
|  | #+end_src | ||||||
|  | 
 | ||||||
|  | And let’s try this: | ||||||
|  | #+begin_src restclient :results value replace :wrap src js | ||||||
|  |   GET https://api.github.com/repos/zweifisch/ob-http/languages | ||||||
|  |   Accept: application/vnd.github.moondragon+json | ||||||
|  |   User-Agent: ${user-agent} | ||||||
|  | #+end_src | ||||||
|  | 
 | ||||||
|  | #+results: | ||||||
|  | #+begin_src js | ||||||
|  | { | ||||||
|  |   "Emacs Lisp": 15327, | ||||||
|  |   "Shell": 139 | ||||||
|  | } | ||||||
|  | #+end_src | ||||||
|  | 
 | ||||||
| *** Graphviz | *** Graphviz | ||||||
| The [[https://graphviz.org/][graphviz project]] can be written in org blocks, and then rendered as an image: | The [[https://graphviz.org/][graphviz project]] can be written in org blocks, and then rendered as an image: | ||||||
| #+NAME: ob-graphviz | #+NAME: ob-graphviz | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue