You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by pd...@apache.org on 2018/09/13 19:00:29 UTC
[incubator-openwhisk-wskdeploy] branch master updated: skipping
response data in case of http request was successful (#981)
This is an automated email from the ASF dual-hosted git repository.
pdesai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-wskdeploy.git
The following commit(s) were added to refs/heads/master by this push:
new 79ddf4a skipping response data in case of http request was successful (#981)
79ddf4a is described below
commit 79ddf4afab63f7383e92157cf151bbe2dd398acd
Author: Priti Desai <pd...@us.ibm.com>
AuthorDate: Thu Sep 13 12:00:25 2018 -0700
skipping response data in case of http request was successful (#981)
---
wskderrors/wskdeployerror.go | 9 ++++++++-
wskderrors/wskdeployerror_test.go | 16 +++++++++++++++-
2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/wskderrors/wskdeployerror.go b/wskderrors/wskdeployerror.go
index 978d1d3..207b1ad 100644
--- a/wskderrors/wskdeployerror.go
+++ b/wskderrors/wskdeployerror.go
@@ -196,7 +196,14 @@ func NewWhiskClientError(errorMessage string, code int, response *http.Response)
if response != nil {
responseData, _ := ioutil.ReadAll(response.Body)
err.SetMessageFormat("%s: %d: %s: %s: %s %s: %s")
- str = fmt.Sprintf(err.MessageFormat, STR_ERROR_CODE, code, errorMessage, STR_HTTP_STATUS, response.Status, STR_HTTP_BODY, string(responseData))
+ // do not add body in case of a success
+ // when response.Status is 200, response.Body contains the entire action source code
+ // we should not expose the action source when the HTTP request was successful
+ if strings.Contains(response.Status, "200 OK") {
+ str = fmt.Sprintf(err.MessageFormat, STR_ERROR_CODE, code, errorMessage, STR_HTTP_STATUS, response.Status, "", "")
+ } else {
+ str = fmt.Sprintf(err.MessageFormat, STR_ERROR_CODE, code, errorMessage, STR_HTTP_STATUS, response.Status, STR_HTTP_BODY, string(responseData))
+ }
}
err.SetMessage(str)
return err
diff --git a/wskderrors/wskdeployerror_test.go b/wskderrors/wskdeployerror_test.go
index 57b8d74..44f7a8d 100644
--- a/wskderrors/wskdeployerror_test.go
+++ b/wskderrors/wskdeployerror_test.go
@@ -38,7 +38,8 @@ func TestCustomErrorOutputFormat(t *testing.T) {
packageName := filepath.Base(fn)
const TEST_DEFAULT_ERROR_MESSAGE = "Some bad error"
const TEST_COMMAND string = "test"
- const TEST_ERROR_CODE = 400 // Bad request
+ const TEST_ERROR_CODE = 400 // Bad request
+ const TEST_SUCCESS_CODE = 200 // Good request
const TEST_EXISTANT_MANIFEST_FILE = "tests/dat/manifest_validate_multiline_params.yaml"
const TEST_NONEXISTANT_MANIFEST_FILE = "tests/dat/missing_manifest.yaml"
const TEST_INVALID_YAML_MANIFEST_FILE = "tests/dat/manifest_bad_yaml_invalid_comment.yaml"
@@ -76,6 +77,19 @@ func TestCustomErrorOutputFormat(t *testing.T) {
assert.Equal(t, expectedResult, actualResult)
/*
+ * WhiskClientError
+ */
+ err21 := NewWhiskClientError("", TEST_SUCCESS_CODE, nil)
+ actualResult = strings.TrimSpace(err21.Error())
+ expectedResult = fmt.Sprintf("%s [%d]: [%s]: %s: %d:",
+ packageName,
+ err21.LineNum,
+ ERROR_WHISK_CLIENT_ERROR,
+ STR_ERROR_CODE,
+ TEST_SUCCESS_CODE)
+ assert.Equal(t, expectedResult, actualResult)
+
+ /*
* WhiskClientInvalidConfigError
*/
err3 := NewWhiskClientInvalidConfigError(TEST_DEFAULT_ERROR_MESSAGE)