From dabb7c370a529d256dd071f746f98d86905a22df Mon Sep 17 00:00:00 2001 From: izerozlu Date: Sat, 24 Aug 2019 23:52:54 +0300 Subject: [PATCH 01/36] Virtualscroll added for the history fieldset. --- package.json | 1 + pages/index.vue | 72 ++++++++++++++++++++++++++++++------------------- 2 files changed, 46 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index 0230a2b4..fce0bb2d 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "dependencies": { "@nuxtjs/pwa": "^3.0.0-0", "nuxt": "^2.0.0", + "vue-virtual-scroll-list": "^1.4.2", "vuex-persist": "^2.0.1" }, "devDependencies": { diff --git a/pages/index.vue b/pages/index.vue index 135aa483..0802e307 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -162,40 +162,44 @@ - + diff --git a/pages/settings.vue b/pages/settings.vue index bb34e09d..c5a11311 100644 --- a/pages/settings.vue +++ b/pages/settings.vue @@ -1,126 +1,130 @@ - \ No newline at end of file + } + + diff --git a/pages/websocket.vue b/pages/websocket.vue index cd371346..d7334b47 100644 --- a/pages/websocket.vue +++ b/pages/websocket.vue @@ -1,6 +1,5 @@ - + From 2d89b6fc27681e4b931a53cac869aafe7bc53a2e Mon Sep 17 00:00:00 2001 From: Stephanie Frankian Date: Tue, 27 Aug 2019 17:45:00 -0400 Subject: [PATCH 09/36] Initialize .editorconfig --- .editorconfig | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..cee0e62e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +# http://editorconfig.org + +root = true + +[*] +indent_size = 2 +indent_style = space +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true From be044dbcce94726cac234ede47671457c3c311f3 Mon Sep 17 00:00:00 2001 From: Stephanie Frankian Date: Tue, 27 Aug 2019 17:45:15 -0400 Subject: [PATCH 10/36] Remove .editorconfig from gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8c6652cb..0a9095b3 100644 --- a/.gitignore +++ b/.gitignore @@ -79,7 +79,6 @@ dist # IDE / Editor .idea -.editorconfig # Service worker sw.* From 8912004dcc92889adc368faed1be9902aa518924 Mon Sep 17 00:00:00 2001 From: NBTX Date: Wed, 28 Aug 2019 01:10:00 +0100 Subject: [PATCH 11/36] Adds HTML preview, solves https://github.com/liyasthomas/postwoman/issues/41 --- assets/css/styles.scss | 28 +++++++++- pages/index.vue | 113 +++++++++++++++++++++++++++++------------ 2 files changed, 107 insertions(+), 34 deletions(-) diff --git a/assets/css/styles.scss b/assets/css/styles.scss index c58fca5a..2e8da6c4 100644 --- a/assets/css/styles.scss +++ b/assets/css/styles.scss @@ -171,7 +171,7 @@ fieldset.orange legend { color: #F5A623; } -.collapsible.hidden { +.hidden { display: none; } @@ -290,3 +290,29 @@ fieldset#history { } } } + +.align-left { text-align: left; } +.align-right { text-align: right; } + +#response-details-wrapper { + position: relative; + overflow: hidden; + border-radius: 4px; + margin: 4px; + + #response-details { + margin: 0; + } + + .covers-response { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: white; + + height: 100%; + width: 100%; + } +} \ No newline at end of file diff --git a/pages/index.vue b/pages/index.vue index 2cb4ddc0..ce4828de 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -175,7 +175,15 @@ - + +
+ + +
+ +
+ +
@@ -279,7 +287,8 @@ headers: '', body: '' }, - history: window.localStorage.getItem('history') ? JSON.parse(window.localStorage.getItem('history')) : [] + history: window.localStorage.getItem('history') ? JSON.parse(window.localStorage.getItem('history')) : [], + previewEnabled: false } }, computed: { @@ -340,6 +349,10 @@ value }) => `${key}=${encodeURIComponent(value)}`).join('&') return result == '' ? '' : `?${result}` + }, + + responseType () { + return (this.response.headers['content-type'] || '').split(';')[0].toLowerCase(); } }, methods: { @@ -367,66 +380,78 @@ }) }, sendRequest() { + if (!this.isValidURL) { + alert('Please check the formatting of the URL'); + return + } + if (this.$refs.response.$el.classList.contains('hidden')) { this.$refs.response.$el.classList.toggle('hidden') } + this.$refs.response.$el.scrollIntoView({ behavior: 'smooth' - }) - this.response.status = 'Fetching...' - this.response.body = 'Loading...' - const xhr = new XMLHttpRequest() - const user = this.auth === 'Basic' ? this.httpUser : null - const pswd = this.auth === 'Basic' ? this.httpPassword : null - xhr.open(this.method, this.url + this.path + this.queryString, true, user, pswd) - if (this.auth === 'Bearer Token') { - xhr.setRequestHeader('Authorization', 'Bearer ' + this.bearerToken); - } + }); + + this.response.status = 'Fetching...'; + this.response.body = 'Loading...'; + + const xhr = new XMLHttpRequest(); + const user = this.auth === 'Basic' ? this.httpUser : null; + const password = this.auth === 'Basic' ? this.httpPassword : null; + xhr.open(this.method, this.url + this.path + this.queryString, true, user, password); + + if (this.auth === 'Bearer Token') xhr.setRequestHeader( + 'Authorization', + 'Bearer ' + this.bearerToken + ); + if (this.headers) { this.headers.forEach(function(element) { xhr.setRequestHeader(element.key, element.value) }) } + if (this.method === 'POST' || this.method === 'PUT') { const requestBody = this.rawInput ? this.rawParams : this.rawRequestBody; - xhr.setRequestHeader('Content-Length', requestBody.length) - xhr.setRequestHeader('Content-Type', `${this.contentType}; charset=utf-8`) - xhr.send(requestBody) + xhr.setRequestHeader('Content-Length', requestBody.length); + xhr.setRequestHeader('Content-Type', `${this.contentType}; charset=utf-8`); + xhr.send(requestBody); } else { - xhr.send() + xhr.send(); } + xhr.onload = e => { - this.response.status = xhr.status - const headers = this.response.headers = parseHeaders(xhr) + this.response.status = xhr.status; + const headers = this.response.headers = parseHeaders(xhr); + + this.response.body = xhr.responseText; if ((headers['content-type'] || '').startsWith('application/json')) { - this.response.body = JSON.stringify(JSON.parse(xhr.responseText), null, 2) - } else { - this.response.body = xhr.responseText + this.response.body = JSON.stringify(JSON.parse(this.response.body), null, 2); } - if (!this.isValidURL) { - alert('Please check the formatting of the URL'); - return - } - const n = new Date().toLocaleTimeString() + + const n = new Date().toLocaleTimeString(); this.history = [{ status: xhr.status, time: n, method: this.method, url: this.url, path: this.path - }, ...this.history] - window.localStorage.setItem('history', JSON.stringify(this.history)) - } + }, ...this.history]; + window.localStorage.setItem('history', JSON.stringify(this.history)); + }; + xhr.onerror = e => { - this.response.status = xhr.status - this.response.body = xhr.statusText + this.response.status = xhr.status; + this.response.body = xhr.statusText; } }, addRequestHeader() { this.headers.push({ key: '', value: '' - }) + }); + return false }, removeRequestHeader(index) { @@ -474,12 +499,34 @@ return false; } }, + copyResponse() { var copyText = document.getElementById("response-details"); copyText.select(); document.execCommand("copy"); + }, + + togglePreview () { + this.previewEnabled = !this.previewEnabled; + + if(this.previewEnabled) { + // If you want to add 'preview' support for other response types, + // just add them here. + if(this.responseType === "text/html"){ + // If the preview already has that URL loaded, let's not bother re-loading it all. + if(this.$refs.previewFrame.getAttribute('data-previewing-url') === this.url) + return; + + // Use DOMParser to parse document HTML. + const previewDocument = new DOMParser().parseFromString(this.response.body, this.responseType); + // Inject tag to head, to fix relative CSS/HTML paths. + previewDocument.head.innerHTML = `` + previewDocument.head.innerHTML; + // Finally, set the iframe source to the resulting HTML. + this.$refs.previewFrame.srcdoc = previewDocument.documentElement.outerHTML; + this.$refs.previewFrame.setAttribute('data-previewing-url', this.url); + } + } } } } - From 38f6f4ef2eff2976003ce8674045c08b30dc9e73 Mon Sep 17 00:00:00 2001 From: NBTX Date: Wed, 28 Aug 2019 01:32:37 +0100 Subject: [PATCH 12/36] Close preview when a new request is made --- pages/index.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/index.vue b/pages/index.vue index ce4828de..d9f0acc7 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -393,6 +393,7 @@ behavior: 'smooth' }); + this.previewEnabled = false; this.response.status = 'Fetching...'; this.response.body = 'Loading...'; From 1a38f519f4cfa9fc53ec9e180bf42fd2619d4c0f Mon Sep 17 00:00:00 2001 From: Nicholas Palenchar Date: Tue, 27 Aug 2019 21:01:01 -0400 Subject: [PATCH 13/36] fixes #74 fallback for findEntryStatus when match is missing or otherwise invalid --- assets/css/styles.scss | 4 ++++ pages/index.vue | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/assets/css/styles.scss b/assets/css/styles.scss index c58fca5a..1c061a7f 100644 --- a/assets/css/styles.scss +++ b/assets/css/styles.scss @@ -278,6 +278,10 @@ ol li { background-color: #B71C1C; } +.missing-data-response { + background-color: #676767; +} + fieldset#history { .method-list-item { position: relative; diff --git a/pages/index.vue b/pages/index.vue index 2cb4ddc0..2d07d910 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -241,6 +241,13 @@ statusCodeRegex: new RegExp(/[5][0-9]+/), className: 'sv-error-response' }, + { + // this object is a catch-all for when no other objects match and should always be last + name: 'unknown', + statusCodeRegex: new RegExp(/.*/), + className: 'missing-data-response' + } + ]; const parseHeaders = xhr => { const headers = xhr.getAllResponseHeaders().trim().split(/[\r\n]+/); From 85d51b2362548f7ac4fc0bad52e5d6f3eef36145 Mon Sep 17 00:00:00 2001 From: NBTX Date: Wed, 28 Aug 2019 02:24:49 +0100 Subject: [PATCH 14/36] Add proxy settings. --- pages/settings.vue | 37 ++++++++++++++++++++++++++++++++----- store/postwoman.js | 11 ++++++++++- 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/pages/settings.vue b/pages/settings.vue index c5a11311..9ed43f5d 100644 --- a/pages/settings.vue +++ b/pages/settings.vue @@ -5,8 +5,8 @@
  • Background

    - - + +
  • @@ -15,22 +15,47 @@
  • Color

    - - + +

    - +

  • + + +
      +
    • +

      + + +

      +
    • +
    + +
      +
    • + + +
    • +
    • + + +
    • +
    +
    diff --git a/pages/index.vue b/pages/index.vue index 495f28c7..95fd0c97 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -21,7 +21,7 @@
  • - +
  • @@ -51,7 +51,7 @@
  • - +
  • @@ -111,7 +111,7 @@
  • - +
  • @@ -139,7 +139,7 @@
  • - +
  • @@ -175,12 +175,10 @@ -
    -
    @@ -212,11 +210,11 @@
  • - +
  • - +
  • @@ -255,7 +253,6 @@ statusCodeRegex: new RegExp(/.*/), className: 'missing-data-response' } - ]; const parseHeaders = xhr => { const headers = xhr.getAllResponseHeaders().trim().split(/[\r\n]+/); @@ -357,8 +354,7 @@ }) => `${key}=${encodeURIComponent(value)}`).join('&') return result == '' ? '' : `?${result}` }, - - responseType () { + responseType() { return (this.response.headers['content-type'] || '').split(';')[0].toLowerCase(); } }, @@ -391,35 +387,28 @@ alert('Please check the formatting of the URL'); return } - if (this.$refs.response.$el.classList.contains('hidden')) { this.$refs.response.$el.classList.toggle('hidden') } - this.$refs.response.$el.scrollIntoView({ behavior: 'smooth' }); - this.previewEnabled = false; this.response.status = 'Fetching...'; this.response.body = 'Loading...'; - const xhr = new XMLHttpRequest(); const user = this.auth === 'Basic' ? this.httpUser : null; const password = this.auth === 'Basic' ? this.httpPassword : null; xhr.open(this.method, this.url + this.path + this.queryString, true, user, password); - if (this.auth === 'Bearer Token') xhr.setRequestHeader( - 'Authorization', - 'Bearer ' + this.bearerToken + 'Authorization', + 'Bearer ' + this.bearerToken ); - if (this.headers) { this.headers.forEach(function(element) { xhr.setRequestHeader(element.key, element.value) }) } - if (this.method === 'POST' || this.method === 'PUT') { const requestBody = this.rawInput ? this.rawParams : this.rawRequestBody; xhr.setRequestHeader('Content-Length', requestBody.length); @@ -428,16 +417,13 @@ } else { xhr.send(); } - xhr.onload = e => { this.response.status = xhr.status; const headers = this.response.headers = parseHeaders(xhr); - this.response.body = xhr.responseText; if ((headers['content-type'] || '').startsWith('application/json')) { this.response.body = JSON.stringify(JSON.parse(this.response.body), null, 2); } - const n = new Date().toLocaleTimeString(); this.history = [{ status: xhr.status, @@ -448,7 +434,6 @@ }, ...this.history]; window.localStorage.setItem('history', JSON.stringify(this.history)); }; - xhr.onerror = e => { this.response.status = xhr.status; this.response.body = xhr.statusText; @@ -459,7 +444,6 @@ key: '', value: '' }); - return false }, removeRequestHeader(index) { @@ -507,24 +491,20 @@ return false; } }, - copyResponse() { var copyText = document.getElementById("response-details"); copyText.select(); document.execCommand("copy"); }, - - togglePreview () { + togglePreview() { this.previewEnabled = !this.previewEnabled; - - if(this.previewEnabled) { + if (this.previewEnabled) { // If you want to add 'preview' support for other response types, // just add them here. - if(this.responseType === "text/html"){ + if (this.responseType === "text/html") { // If the preview already has that URL loaded, let's not bother re-loading it all. - if(this.$refs.previewFrame.getAttribute('data-previewing-url') === this.url) + if (this.$refs.previewFrame.getAttribute('data-previewing-url') === this.url) return; - // Use DOMParser to parse document HTML. const previewDocument = new DOMParser().parseFromString(this.response.body, this.responseType); // Inject tag to head, to fix relative CSS/HTML paths. @@ -537,4 +517,5 @@ } } } + diff --git a/pages/websocket.vue b/pages/websocket.vue index d7334b47..1d0d8d1d 100644 --- a/pages/websocket.vue +++ b/pages/websocket.vue @@ -7,7 +7,7 @@
  • - +
  • @@ -30,7 +30,7 @@
  • - +
  • From 16523814448969f75c108a0abb0336aea8ecb9a7 Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Wed, 28 Aug 2019 10:47:31 +0530 Subject: [PATCH 16/36] :art: Styled input checkbox --- assets/css/styles.scss | 23 ++++++++++++++++++++++- pages/settings.vue | 11 +++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/assets/css/styles.scss b/assets/css/styles.scss index bb0e3b2c..9c7a5de8 100644 --- a/assets/css/styles.scss +++ b/assets/css/styles.scss @@ -187,11 +187,32 @@ option { } input[type="checkbox"] { - width: initial; + display: none; &, & + label { vertical-align: middle; + cursor: pointer; + + &:before { + content: "\2714"; + border: 2px solid var(--fg-color); + border-radius: 4px; + display: inline-flex; + height: 16px; + width: 16px; + align-items: center; + justify-content: center; + margin: 8px 8px 8px 0; + color: transparent; + transition: .2s; + } + } + + &:checked + label:before { + background-color: var(--ac-color); + border-color: var(--ac-color); + color: var(--act-color); } } diff --git a/pages/settings.vue b/pages/settings.vue index c5a11311..fa6b17d7 100644 --- a/pages/settings.vue +++ b/pages/settings.vue @@ -19,10 +19,13 @@ -

    - - -

    + + +
      +
    • +

      Frames

      + +
    From f004a9c322d94e302154457bd40b75348588bdb2 Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Wed, 28 Aug 2019 14:27:42 +0530 Subject: [PATCH 17/36] :pencil2: Updated features list and added 'Story behind Postwoman' --- README.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 882df0b8..51530781 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,9 @@ When I wrote this, only God and I understood what I was doing. Now, only God kno # postwoman Postwoman -### 👽 API request builder by [Liyas Thomas](https://github.com/liyasthomas) +### API request builder + +**Start here: _[Story behind Postwoman](https://dev.to/liyasthomas/i-created-postwoman-an-online-open-source-api-request-builder-41md)_**

    @@ -80,6 +82,21 @@ _Customized themes are also synced with local session storage_ - Set content Type - Toggle between RAW input and parameter list +:wave: **Responses**: Contains the status line, headers and the message/response body + +_HTML responses have "Preview HTML" feature_ + +:: **History**: Request entries are synced with local session storage to reuse with a single click + +**Fields** + - Timestamp + - Method + - Status code + - URL + - Path + +_History entries can be deleted one-by-one or all together_ + --- ## Demo @@ -155,6 +172,7 @@ See the [CHANGELOG](CHANGELOG.md) file for details. ### Testing and Debugging * [Liyas Thomas](https://github.com/liyasthomas) +* ([contributors](https://github.com/liyasthomas/postwoman/graphs/contributors)) ### Contributors * [NBTX](https://github.com/NBTX) From df2ceb3fe9262a554c5338b877c7b14721851580 Mon Sep 17 00:00:00 2001 From: izerozlu Date: Wed, 28 Aug 2019 13:35:14 +0300 Subject: [PATCH 18/36] Virtual scrolling added for history section. --- pages/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/index.vue b/pages/index.vue index 98a03077..86960e0c 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -192,7 +192,7 @@ -
      +
      • From b5f812512fa7f129ce6167dc6b6f6d1c41616611 Mon Sep 17 00:00:00 2001 From: Pratik Date: Wed, 28 Aug 2019 13:07:45 +0200 Subject: [PATCH 19/36] GitHub logo in footer updates as per theme background. --- layouts/default.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/layouts/default.vue b/layouts/default.vue index aa5f2f46..6a87b73b 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -22,7 +22,7 @@
      - +
      • From 6bf8a6cbb30d4c7dfbfba059452cc77e3201b6fc Mon Sep 17 00:00:00 2001 From: Stephanie Frankian Date: Wed, 28 Aug 2019 08:18:56 -0400 Subject: [PATCH 21/36] Fix typo. --- .editorconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index cee0e62e..630e82e7 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,4 +1,4 @@ -# http://editorconfig.org +# https://editorconfig.org root = true From 834850fd98ed8a3112558283eb5aeaba86f8baf7 Mon Sep 17 00:00:00 2001 From: Pratik Date: Wed, 28 Aug 2019 14:40:57 +0200 Subject: [PATCH 22/36] Resolution of https://github.com/liyasthomas/postwoman/pull/80/files/9868a7d31e8521fb8b0ff1fabb2e2c5453851b43#r318532213 --- .vs/VSWorkspaceState.json | 9 +++++++++ .vs/postwoman/v15/.suo | Bin 0 -> 16384 bytes .vs/slnx.sqlite | Bin 0 -> 77824 bytes layouts/default.vue | 6 +++--- 4 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/postwoman/v15/.suo create mode 100644 .vs/slnx.sqlite diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 00000000..b35b927a --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,9 @@ +{ + "ExpandedNodes": [ + "", + "\\layouts", + "\\pages" + ], + "SelectedNode": "\\pages\\index.vue", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/postwoman/v15/.suo b/.vs/postwoman/v15/.suo new file mode 100644 index 0000000000000000000000000000000000000000..d7c99ece5ea2f497d1d5c82ebad7d9b12001344e GIT binary patch literal 16384 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 Gfd2xXFqCot literal 0 HcmV?d00001 diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..389da5e19843afd44c9e50621fbe9d7fd9de3865 GIT binary patch literal 77824 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 literal 0 HcmV?d00001 diff --git a/layouts/default.vue b/layouts/default.vue index 6a87b73b..347e2ebc 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -120,9 +120,9 @@ // Once the PWA code is initialized, this holds a method // that can be called to show the user the installation // prompt. - showInstallPrompt: null, - logoStyle() { - return "margin-right: 16px;" + (this.$store.state.postwoman.settings.THEME_CLASS ? " filter: invert(100%); -webkit-filter: invert(100%);" : '') + showInstallPrompt: null, + logoStyle() { + return "margin-right: 16px;" + (this.$store.state.postwoman.settings.THEME_CLASS.includes('light') ? " filter: invert(100%); -webkit-filter: invert(100%);" : '') } } }, From f037a0eb1711aa248fcd2b188a6c18f3604c1a2c Mon Sep 17 00:00:00 2001 From: Pratik Date: Wed, 28 Aug 2019 14:56:32 +0200 Subject: [PATCH 23/36] updated for Visual Studio --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 0a9095b3..0d45b4fd 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,6 @@ sw.* # Vim swap files *.swp + +# Visual Studio +.vs/ \ No newline at end of file From 780c35e80400d433c890d9860eca7c3a2d4cad5b Mon Sep 17 00:00:00 2001 From: Pratik Date: Wed, 28 Aug 2019 14:59:12 +0200 Subject: [PATCH 24/36] removed .vs index. --- .vs/VSWorkspaceState.json | 9 --------- .vs/postwoman/v15/.suo | Bin 16384 -> 0 bytes .vs/slnx.sqlite | Bin 77824 -> 0 bytes 3 files changed, 9 deletions(-) delete mode 100644 .vs/VSWorkspaceState.json delete mode 100644 .vs/postwoman/v15/.suo delete mode 100644 .vs/slnx.sqlite diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json deleted file mode 100644 index b35b927a..00000000 --- a/.vs/VSWorkspaceState.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ExpandedNodes": [ - "", - "\\layouts", - "\\pages" - ], - "SelectedNode": "\\pages\\index.vue", - "PreviewInSolutionExplorer": false -} \ No newline at end of file diff --git a/.vs/postwoman/v15/.suo b/.vs/postwoman/v15/.suo deleted file mode 100644 index d7c99ece5ea2f497d1d5c82ebad7d9b12001344e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 Gfd2xXFqCot diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite deleted file mode 100644 index 389da5e19843afd44c9e50621fbe9d7fd9de3865..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 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 From 7c9188ed037cc88f3bebc8c090cc3c7eaa20a202 Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Wed, 28 Aug 2019 19:50:59 +0530 Subject: [PATCH 25/36] Revert "Readable GitHub logo" --- .gitignore | 3 --- layouts/default.vue | 7 ++----- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 0d45b4fd..0a9095b3 100644 --- a/.gitignore +++ b/.gitignore @@ -88,6 +88,3 @@ sw.* # Vim swap files *.swp - -# Visual Studio -.vs/ \ No newline at end of file diff --git a/layouts/default.vue b/layouts/default.vue index 347e2ebc..aa5f2f46 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -22,7 +22,7 @@
      • @@ -26,7 +28,7 @@
      - +
      • @@ -199,8 +201,7 @@
      • - + {{entry.status}}
      • @@ -212,11 +213,11 @@
      • - +
      • - +
      @@ -229,30 +230,30 @@ import section from "../components/section"; const statusCategories = [{ - name: 'informational', + name: 'informational', statusCodeRegex: new RegExp(/[1][0-9]+/), className: 'info-response' }, { - name: 'successful', + name: 'successful', statusCodeRegex: new RegExp(/[2][0-9]+/), className: 'success-response' }, { - name: 'redirection', + name: 'redirection', statusCodeRegex: new RegExp(/[3][0-9]+/), className: 'redir-response' }, { - name: 'client error', + name: 'client error', statusCodeRegex: new RegExp(/[4][0-9]+/), className: 'cl-error-response' }, { - name: 'server error', + name: 'server error', statusCodeRegex: new RegExp(/[5][0-9]+/), className: 'sv-error-response' - }, + }, { // this object is a catch-all for when no other objects match and should always be last name: 'unknown', @@ -261,33 +262,34 @@ } ]; const parseHeaders = xhr => { - const headers = xhr.getAllResponseHeaders().trim().split(/[\r\n]+/); - const headerMap = {}; - headers.forEach(line => { - const parts = line.split(': '); - const header = parts.shift().toLowerCase(); - const value = parts.join(': '); - headerMap[header] = value - }); - return headerMap + const headers = xhr.getAllResponseHeaders().trim().split(/[\r\n]+/); + const headerMap = {}; + headers.forEach(line => { + const parts = line.split(': '); + const header = parts.shift().toLowerCase(); + const value = parts.join(': '); + headerMap[header] = value + }); + return headerMap }; const findStatusGroup = responseStatus => statusCategories.find(status => status.statusCodeRegex.test(responseStatus)); export default { - components: { + components: { 'pw-section': section, VirtualList }, - data () { - return { - method: 'GET', - url: 'https://reqres.in', - auth: 'None', - path: '/api/users', - httpUser: '', - httpPassword: '', - bearerToken: '',headers: [], + data() { + return { + method: 'GET', + url: 'https://reqres.in', + auth: 'None', + path: '/api/users', + httpUser: '', + httpPassword: '', + bearerToken: '', + headers: [], params: [], bodyParams: [], rawParams: '', @@ -368,84 +370,87 @@ methods: { findEntryStatus(entry) { let foundStatusGroup = findStatusGroup(entry.status); - return foundStatusGroup || {className: ''}; - }, - deleteHistory(entry) { - this.history.splice(this.history.indexOf(entry), 1) - window.localStorage.setItem('history', JSON.stringify(this.history)) - }, - clearHistory() { - this.history = [] - window.localStorage.setItem('history', JSON.stringify(this.history)) - }, - useHistory({ - method, - url, - path - }) { - this.method = method - this.url = url - this.path = path - this.$refs.request.$el.scrollIntoView({ - behavior: 'smooth' - }) - }, - sendRequest() { + return foundStatusGroup || { + className: '' + }; + }, + deleteHistory(entry) { + this.history.splice(this.history.indexOf(entry), 1) + window.localStorage.setItem('history', JSON.stringify(this.history)) + }, + clearHistory() { + this.history = [] + window.localStorage.setItem('history', JSON.stringify(this.history)) + }, + useHistory({ + method, + url, + path + }) { + this.method = method + this.url = url + this.path = path + this.$refs.request.$el.scrollIntoView({ + behavior: 'smooth' + }) + }, + sendRequest() { if (!this.isValidURL) { alert('Please check the formatting of the URL'); return - } if (this.$refs.response.$el.classList.contains('hidden')) { - this.$refs.response.$el.classList.toggle('hidden') - } - this.$refs.response.$el.scrollIntoView({ - behavior: 'smooth' - }); + } + if (this.$refs.response.$el.classList.contains('hidden')) { + this.$refs.response.$el.classList.toggle('hidden') + } + this.$refs.response.$el.scrollIntoView({ + behavior: 'smooth' + }); this.previewEnabled = false; - this.response.status = 'Fetching...'; - this.response.body = 'Loading...'; - const xhr = new XMLHttpRequest(); - const user = this.auth === 'Basic' ? this.httpUser : null; - const password = this.auth === 'Basic' ? this.httpPassword : null; - xhr.open(this.method, this.url + this.path + this.queryString, true, user, password); - if (this.auth === 'Bearer Token') - xhr.setRequestHeader('Authorization', 'Bearer ' + this.bearerToken - ); - if (this.headers) { + this.response.status = 'Fetching...'; + this.response.body = 'Loading...'; + const xhr = new XMLHttpRequest(); + const user = this.auth === 'Basic' ? this.httpUser : null; + const password = this.auth === 'Basic' ? this.httpPassword : null; + xhr.open(this.method, this.url + this.path + this.queryString, true, user, password); + if (this.auth === 'Bearer Token') + xhr.setRequestHeader('Authorization', 'Bearer ' + this.bearerToken); + if (this.headers) { this.headers.forEach(function(element) { xhr.setRequestHeader(element.key, element.value) }) } - if (this.method === 'POST' || this.method === 'PUT') { - const requestBody = this.rawInput ? this.rawParams : this.rawRequestBody; - xhr.setRequestHeader('Content-Length', requestBody.length); - xhr.setRequestHeader('Content-Type', `${this.contentType}; charset=utf-8`); - xhr.send(requestBody); - } else { - xhr.send(); - } - xhr.onload = e => { - this.response.status = xhr.status; - const headers = this.response.headers = parseHeaders(xhr); + if (this.method === 'POST' || this.method === 'PUT' || this.method === 'PATCH') { + const requestBody = this.rawInput ? this.rawParams : this.rawRequestBody; + xhr.setRequestHeader('Content-Length', requestBody.length); + xhr.setRequestHeader('Content-Type', `${this.contentType}; charset=utf-8`); + xhr.send(requestBody); + } else { + xhr.send(); + } + xhr.onload = e => { + this.response.status = xhr.status; + const headers = this.response.headers = parseHeaders(xhr); this.response.body = xhr.responseText; - if ((headers['content-type'] || '').startsWith('application/json')) { - this.response.body = JSON.stringify(JSON.parse( - this.response.body ), null, 2); - } - const n = new Date().toLocaleTimeString(); - this.history = [{ - status: xhr.status, - time: n, - method: this.method, - url: this.url, - path: this.path - }, ...this.history]; - window.localStorage.setItem('history', JSON.stringify(this.history)); - }; - xhr.onerror = e => { - this.response.status = xhr.status; - this.response.body = xhr.statusText; + if (this.method != 'HEAD') { + if ((headers['content-type'] || '').startsWith('application/json')) { + this.response.body = JSON.stringify(JSON.parse(this.response.body), null, 2); } - }, + } + const n = new Date().toLocaleTimeString(); + this.history = [{ + status: xhr.status, + time: n, + method: this.method, + url: this.url, + path: this.path + }, ...this.history]; + window.localStorage.setItem('history', JSON.stringify(this.history)); + }; + xhr.onerror = e => { + this.response.status = xhr.status; + this.response.body = xhr.statusText; + } + }, addRequestHeader() { this.headers.push({ key: '', From dc6ac391d714918d8c0b87581c967e6679eadd4b Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Thu, 29 Aug 2019 12:14:11 +0530 Subject: [PATCH 31/36] :pencil2: Updated methods list --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f02ae1ac..3c14dbee 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,12 @@ When I wrote this, only God and I understood what I was doing. Now, only God kno **Methods:** - `GET` - Retrieve information about the REST API resource + - `HEAD` - Asks for a response identical to that of a GET request, but without the response body. - `POST` - Create a REST API resource - `PUT` - Update a REST API resource - `DELETE` - Delete a REST API resource or related component - - `OPTIONS` - Describe the communication options for the target resource. + - `OPTIONS` - Describe the communication options for the target resource + - `PATCH` - Applies partial modifications to a REST API resource _History entries are synced with local session storage_ From 4237dfc9d12842ecb73d177d9421dcc6e808c47f Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Thu, 29 Aug 2019 17:19:45 +0530 Subject: [PATCH 32/36] :bug: Fixes #81 :sparkles: Added Local Date to history entry and will be shown on hovering timestamp --- pages/index.vue | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pages/index.vue b/pages/index.vue index 997c1b17..bfa91faa 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -197,7 +197,7 @@
      • - +
      • @@ -436,10 +436,12 @@ this.response.body = JSON.stringify(JSON.parse(this.response.body), null, 2); } } - const n = new Date().toLocaleTimeString(); + const d = new Date().toLocaleDateString(); + const t = new Date().toLocaleTimeString(); this.history = [{ status: xhr.status, - time: n, + date: d, + time: t, method: this.method, url: this.url, path: this.path From d71a4ba0bba4a9c30ac24e1bb06d4176910de8d9 Mon Sep 17 00:00:00 2001 From: yubathom Date: Tue, 27 Aug 2019 17:13:04 -0300 Subject: [PATCH 33/36] Enable shareable requests with preseted attributes in url queries --- pages/index.vue | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pages/index.vue b/pages/index.vue index bfa91faa..9c281815 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -528,7 +528,15 @@ this.$refs.previewFrame.setAttribute('data-previewing-url', this.url); } } + }, + setRouteQueries(queries) { + for (const key in queries) { + if (this[key]) this[key] = queries[key]; + } } + }, + created() { + if (Object.keys(this.$route.query).length) this.setRouteQueries(this.$route.query); } } From bac9dd1eec49406d1d899ff8266a8a6d743b5cd0 Mon Sep 17 00:00:00 2001 From: NBTX Date: Thu, 29 Aug 2019 22:55:06 +0100 Subject: [PATCH 34/36] Add toggle switch --- components/toggle.vue | 98 +++++++++++++++++++++++++++++++++++++++++++ pages/settings.vue | 11 +++-- 2 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 components/toggle.vue diff --git a/components/toggle.vue b/components/toggle.vue new file mode 100644 index 00000000..c02e950b --- /dev/null +++ b/components/toggle.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/pages/settings.vue b/pages/settings.vue index 04a968cd..39e67bdd 100644 --- a/pages/settings.vue +++ b/pages/settings.vue @@ -24,13 +24,14 @@
        • Frames

          - - + + Multi-color {{ settings.DISABLE_FRAME_COLORS ? "disabled" : "enabled" }} +
        - +