Skip to content

Commit 3e925f6

Browse files
authored
[Enhancement] Allow whitespace in key/token/password input (#354)
* Allow whitespace in key/token/password input * Url-encode whitespace when setting param value * Url-encode spaces for authorization input * Refrain from always url-encoding spaces in security schemes * Conditionally url-encode spaces for path and query params only
1 parent d0fbbd5 commit 3e925f6

File tree

2 files changed

+14
-6
lines changed
  • packages/docusaurus-theme-openapi-docs/src/theme/ApiDemoPanel

2 files changed

+14
-6
lines changed

packages/docusaurus-theme-openapi-docs/src/theme/ApiDemoPanel/Authorization/index.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function Authorization() {
5050
placeholder="Bearer Token"
5151
value={data[a.key].token ?? ""}
5252
onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
53-
const value = e.target.value.trim();
53+
const value = e.target.value;
5454
dispatch(
5555
setAuthData({
5656
scheme: a.key,
@@ -71,7 +71,7 @@ function Authorization() {
7171
placeholder="Bearer Token"
7272
value={data[a.key].token ?? ""}
7373
onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
74-
const value = e.target.value.trim();
74+
const value = e.target.value;
7575
dispatch(
7676
setAuthData({
7777
scheme: a.key,
@@ -93,7 +93,7 @@ function Authorization() {
9393
placeholder="Username"
9494
value={data[a.key].username ?? ""}
9595
onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
96-
const value = e.target.value.trim();
96+
const value = e.target.value;
9797
dispatch(
9898
setAuthData({
9999
scheme: a.key,
@@ -110,7 +110,7 @@ function Authorization() {
110110
password
111111
value={data[a.key].password ?? ""}
112112
onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
113-
const value = e.target.value.trim();
113+
const value = e.target.value;
114114
dispatch(
115115
setAuthData({
116116
scheme: a.key,
@@ -132,7 +132,7 @@ function Authorization() {
132132
placeholder={`${a.key}`}
133133
value={data[a.key].apiKey ?? ""}
134134
onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
135-
const value = e.target.value.trim();
135+
const value = e.target.value;
136136
dispatch(
137137
setAuthData({
138138
scheme: a.key,

packages/docusaurus-theme-openapi-docs/src/theme/ApiDemoPanel/ParamOptions/index.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,15 @@ function ParamTextFormItem({ param }: ParamProps) {
309309
<FormTextInput
310310
placeholder={param.description || param.name}
311311
onChange={(e: React.ChangeEvent<HTMLInputElement>) =>
312-
dispatch(setParam({ ...param, value: e.target.value }))
312+
dispatch(
313+
setParam({
314+
...param,
315+
value:
316+
param.in === "path" || param.in === "query"
317+
? e.target.value.replace(/\s/g, "%20")
318+
: e.target.value,
319+
})
320+
)
313321
}
314322
/>
315323
);

0 commit comments

Comments
 (0)