[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/graphql-mode 5e7665dfc4 059/122: forget the actual changes
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/graphql-mode 5e7665dfc4 059/122: forget the actual changes, (I have two location to dev/test) |
Date: |
Sat, 29 Jan 2022 08:03:33 -0500 (EST) |
branch: elpa/graphql-mode
commit 5e7665dfc4f60e9e98fa8f5547f4e017daf611ce
Author: Tim Shiu <punshiu@fb.com>
Commit: Tim Shiu <punshiu@fb.com>
forget the actual changes, (I have two location to dev/test)
---
graphql-mode.el | 40 +++++++++++++++++++++-------------------
1 file changed, 21 insertions(+), 19 deletions(-)
diff --git a/graphql-mode.el b/graphql-mode.el
index 9b036b0513..bbcf540999 100644
--- a/graphql-mode.el
+++ b/graphql-mode.el
@@ -68,6 +68,16 @@
:type 'file
:group 'graphql)
+(defun graphql-encode-json (query &optional operation variables)
+ "Put together a json like object with query, operation, and variables."
+ (let* ((body '()))
+ (push (cons 'query query) body)
+ (when operation
+ (push (cons 'operationName operation) body))
+ (when variables
+ (push (cons 'variables variables) body))
+ (json-encode body)))
+
(defun graphql--query (query &optional operation variables)
"Send QUERY to the server and return the response.
@@ -76,38 +86,30 @@ 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* ((body `(("query" . ,query))))
- (when operation
- (push `("operationName" . ,operation) body))
- (when variables
- (push `("variables" . ,variables) body))
- (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)))))
+ (let* ((body (graphql-encode-json query operation variables))
+ (url (format "%s?query=%s" graphql-url (url-encode-url body))))
+ (with-temp-buffer (graphql-post-request url query operation variables))))
-(defun graphql-post-request (host_path url query operation variables)
+(defun graphql-post-request (url query &optional 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
+ (let* ((body (graphql-encode-json query operation variables))
+ (endpoint (car (split-string url "?")))
+ (response (request
url
:type "POST"
- :data (json-encode body)
+ :data body
:headers '(("Content-Type" . "application/json"))
:parser 'json-read
:sync t
:complete (lambda (&rest _)
(message "%s" (if (string-equal "" operation)
- host_path
- (format "%s?operationName=%s"
host_path operation))))))
+ endpoint
+ (format "%s?operationName=%s"
endpoint operation)))))))
(json-encode (request-response-data response))))
(defun graphql-beginning-of-query ()
- [nongnu] elpa/graphql-mode 43434aa6d5 061/122: Format some docs and docstrings, (continued)
- [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, 2022/01/29
- [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 <=
- [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
- [nongnu] elpa/graphql-mode 09a9af6c98 075/122: Merge remote-tracking branch 'origin/master' into next, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode b802f77542 068/122: graphql-send-query: Silence byte-compiler, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 4aebf7afd9 066/122: graphql-post-request: Use URL instead of missing ENDPOINT, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 7c37aee28b 096/122: Open .gql files automatically as well, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 1125c2136d 055/122: extend graphql-current-operation to support 'line' boundary if sexp fail, ELPA Syncer, 2022/01/29
- [nongnu] elpa/graphql-mode 321c1f4b64 095/122: Implement support for loading graphql-configs, ELPA Syncer, 2022/01/29