From 95de0b8d06fdebe8a8afb6790d4678e82e6ee8c2 Mon Sep 17 00:00:00 2001 From: Elis Axelsson Date: Sat, 3 Jun 2017 18:56:50 +0200 Subject: [PATCH] Remove sync as a provider parameter on creation and add it on execution --- tests/unit/test-webpaste-provider-creation.el | 9 ++-- webpaste.el | 45 +++++++++---------- 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/tests/unit/test-webpaste-provider-creation.el b/tests/unit/test-webpaste-provider-creation.el index a7f5c3f..ece72a3 100644 --- a/tests/unit/test-webpaste-provider-creation.el +++ b/tests/unit/test-webpaste-provider-creation.el @@ -15,7 +15,6 @@ (webpaste-provider :uri "http://invalid-domain-name/" :post-field "data" - :sync t :success-lambda (lambda () (cl-function (lambda (&key data &allow-other-keys) (setq used-lambda "success")))) @@ -27,7 +26,6 @@ (webpaste-provider :uri "https://httpbin.org/status/200" :post-field "data" - :sync t :success-lambda (lambda () (cl-function (lambda (&key data &allow-other-keys) (setq used-lambda "success")))) @@ -39,7 +37,7 @@ (it "can trigger the error lambda of a provider" (let ((used-lambda nil)) - (funcall broken-provider "my test text") + (funcall broken-provider "my test text" :sync t) (expect used-lambda :to-equal "error"))) @@ -47,7 +45,7 @@ (it "can trigger the success lambda of a provider" (let ((used-lambda nil)) - (funcall working-provider "my test text") + (funcall working-provider "my test text" :sync t) (expect used-lambda :to-equal "success"))) @@ -62,7 +60,6 @@ (provider (webpaste-provider :uri "http://invalid-domain-name/" :post-field "data" - :sync t :success-lambda (cl-function (lambda (&key data &allow-other-keys) (setq used-lambda "success"))) @@ -70,7 +67,7 @@ (lambda (&key error-thrown &allow-other-keys) (funcall working-provider "failover")))))) - (funcall provider "text") + (funcall provider "text" :sync t) (expect used-lambda :to-equal "success")))) diff --git a/webpaste.el b/webpaste.el index 8ee39be..dc9b240 100644 --- a/webpaste.el +++ b/webpaste.el @@ -184,8 +184,7 @@ precalculated, and also available both for pre and post request access.") (lang-overrides '()) (lang-uri-separator nil) (error-lambda 'webpaste/providers-error-lambda) - (post-field-lambda 'webpaste/providers-default-post-field-lambda) - (sync nil)) + (post-field-lambda 'webpaste/providers-default-post-field-lambda)) "Function to create the lambda function for a provider. Usage: @@ -237,10 +236,7 @@ Optional params: TEXT contains the data that should be sent. POST-FIELD cointains the name of the field to be sent. - POST-DATA contains predefined fields that the provider needs. - -:sync Set to t to wait until request is done. Defaults to nil. - This should only be used for debugging purposes." + POST-DATA contains predefined fields that the provider needs." ;; If we get a separator sent to the function, append it to the list of ;; separators for later use (when lang-uri-separator @@ -250,23 +246,26 @@ Optional params: (cl-pushnew (cons uri (webpaste/get-lang-alist-with-overrides lang-overrides)) webpaste/provider-lang-alists) - (lambda (text) - "Paste TEXT to provider" - - (prog1 nil - ;; Do request - (request uri - :type type - :data (funcall (funcall post-field-lambda) - :text text - :provider-uri uri - :post-field post-field - :post-lang-field-name post-lang-field-name - :post-data post-data) - :parser parser - :success (funcall success-lambda) - :sync sync - :error (funcall error-lambda :text text))))) + (cl-function + (lambda (text + &key + (sync nil)) + "Paste TEXT to provider. Force SYNC if needed for debugging." + + (prog1 nil + ;; Do request + (request uri + :type type + :data (funcall (funcall post-field-lambda) + :text text + :provider-uri uri + :post-field post-field + :post-lang-field-name post-lang-field-name + :post-data post-data) + :parser parser + :success (funcall success-lambda) + :sync sync + :error (funcall error-lambda :text text))))))