[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/graphql-mode 17c2150ff6 058/122: rebase branch 'queries su
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/graphql-mode 17c2150ff6 058/122: rebase branch 'queries support' into branch 'next' |
Date: |
Sat, 29 Jan 2022 08:03:32 -0500 (EST) |
branch: elpa/graphql-mode
commit 17c2150ff6c5ecd86253491f2628b7ba60de9f56
Author: Tim Shiu <punshiu@fb.com>
Commit: Tim Shiu <punshiu@fb.com>
rebase branch 'queries support' into branch 'next'
---
graphql-mode.el | 49 ++++++++++++++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 19 deletions(-)
diff --git a/graphql-mode.el b/graphql-mode.el
index 6fe9b7c731..9b036b0513 100644
--- a/graphql-mode.el
+++ b/graphql-mode.el
@@ -68,8 +68,7 @@
:type 'file
:group 'graphql)
-
-(defun graphql--query (query operation variables)
+(defun graphql--query (query &optional operation variables)
"Send QUERY to the server and return the response.
The query is sent as a HTTP POST request to the URL at
@@ -77,26 +76,39 @@ The query is sent as a HTTP POST request to the URL at
mutation or subscription). OPERATION is a name for the
operation. VARIABLES is the JSON string that specifies the values
of the variables used in the query."
- (let* ((url-request-method "POST")
- (url graphql-url)
- (body `(("query" . ,query))))
-
+ (let* ((body `(("query" . ,query))))
(when operation
(push `("operationName" . ,operation) body))
-
(when variables
(push `("variables" . ,variables) body))
-
- (let ((response
- (request graphql-url
+ (let ((url-request-method "POST")
+ (url (format "%s?query=%s" graphql-url (url-encode-url body))))
+ (message "url = %s" url)
+ (with-temp-buffer (graphql-post-request graphql-url url query operation
variables)))))
+
+(defun graphql-post-request (host_path url query operation variables)
+ "Make post request to graphql server with url and body.
+HOST_PATH host name and the path to graphql endpoint
+URL hostname, path, search parameters, such as operationName and variables
+QUERY query definition(s) of query, mutation, and/or subscription
+OPERATION name of the operation if multiple definition is given in QUERY
+VARIABLES list of variables for query operation"
+ (let* ((body (list (cons "query" query)
+ (cons "operationName" operation)
+ (cons "variables" variables)))
+ (response nil))
+ (setq response (request
+ url
:type "POST"
:data (json-encode body)
:headers '(("Content-Type" . "application/json"))
:parser 'json-read
- :sync t)))
- (json-encode (request-response-data response)))))
-
-
+ :sync t
+ :complete (lambda (&rest _)
+ (message "%s" (if (string-equal "" operation)
+ host_path
+ (format "%s?operationName=%s"
host_path operation))))))
+ (json-encode (request-response-data response))))
(defun graphql-beginning-of-query ()
"Move the point to the beginning of the current query."
@@ -140,8 +152,8 @@ of the variables used in the query."
(defun graphql-current-operation ()
"Return the name of the current graphql query."
(let* ((query
- (save-excursion
- (replace-regexp-in-string "^[ \t\n]*" "" (graphql-current-query))))
+ (save-excursion
+ (replace-regexp-in-string "^[ \t\n]*" "" (or
(graphql-current-query) ""))))
(tokens
(split-string query "[ \f\t\n\r\v]+"))
(first (nth 0 tokens)))
@@ -157,9 +169,8 @@ of the variables used in the query."
(not (file-directory-p filename))
(file-exists-p filename))
(condition-case nil
- (progn
- (display-buffer (find-file-noselect filename))
- (json-read-file filename))
+ (progn (get-buffer-create (find-file-noselect filename))
+ (json-encode (json-read-file filename)))
(error nil))
nil))
- [nongnu] elpa/graphql-mode c3471642f5 072/122: Merge pull request #19 from cbowdon/master, (continued)
- [nongnu] elpa/graphql-mode c3471642f5 072/122: Merge pull request #19 from cbowdon/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 880701685d 038/122: Add some types/field to the test schema, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 0f2b4b1604 077/122: Merge branch 'next', ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode d0a85fe1d3 067/122: Shorten long lines, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 7aa3532aed 026/122: Don't depend on json-mode, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 0b41444096 028/122: Add installation notes, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 43434aa6d5 061/122: Format some docs and docstrings, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 8b2fe76635 057/122: fix a recursive bug in graphql-current-operation, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode f3cfd9fc1e 062/122: Don't send the query as a query parameter, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 301d2419a0 012/122: Prompt the user for the GraphQL, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 17c2150ff6 058/122: rebase branch 'queries support' into branch 'next',
ELPA Syncer <=
- [nongnu] elpa/graphql-mode 83e3a73f21 033/122: Fix: don't add slash between url and query parameters, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 22a4340ec3 044/122: add post body json support: query, operationName, variables, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 41df2a3140 019/122: Add docstring for graphql-mode, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode d5cfe9326c 074/122: Rename graphql-headers to graphql-extra-headers, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 5971b69c8c 076/122: Fix: respect local value of graphql-url when posting a request, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 5e7665dfc4 059/122: forget the actual changes, (I have two location to dev/test), ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 2326c1fb18 034/122: Merge pull request #7 from eoma/fix-url, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 04e56ae626 053/122: Disable json-mode for response temporarily, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode ab58192967 081/122: Merge pull request #23 from leoliu/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode c643d53a4b 083/122: Don't send operationName when operation is an empty string, ELPA Syncer, 2022/01/29