@@ -8,7 +8,7 @@ export function createHttpClient({ fetch, baseUri }) {
88 return new ExampleApiHttpClient ( fetch , baseUri ) ;
99}
1010
11- const { fetchResponse, createResponseError } = HttpClientUtility ;
11+ const { fetchResponse, createResponseError, createRequiredRequestFieldError } = HttpClientUtility ;
1212
1313class ExampleApiHttpClient {
1414 constructor ( fetch , baseUri ) {
@@ -82,7 +82,11 @@ class ExampleApiHttpClient {
8282 }
8383 /** Gets the specified widget. */
8484 getWidget ( request ) {
85- const uri = `widgets/${ encodeURIComponent ( request . id ) } ` ;
85+ const uriPartId = request . id != null && encodeURIComponent ( request . id ) ;
86+ if ( ! uriPartId ) {
87+ return Promise . resolve ( createRequiredRequestFieldError ( 'id' ) ) ;
88+ }
89+ const uri = `widgets/${ uriPartId } ` ;
8690 const fetchRequest = {
8791 method : 'GET'
8892 } ;
@@ -114,7 +118,11 @@ class ExampleApiHttpClient {
114118 }
115119 /** Deletes the specified widget. */
116120 deleteWidget ( request ) {
117- const uri = `widgets/${ encodeURIComponent ( request . id ) } ` ;
121+ const uriPartId = request . id != null && encodeURIComponent ( request . id ) ;
122+ if ( ! uriPartId ) {
123+ return Promise . resolve ( createRequiredRequestFieldError ( 'id' ) ) ;
124+ }
125+ const uri = `widgets/${ uriPartId } ` ;
118126 const fetchRequest = {
119127 method : 'DELETE'
120128 } ;
@@ -135,7 +143,11 @@ class ExampleApiHttpClient {
135143 }
136144 /** Edits widget. */
137145 editWidget ( request ) {
138- const uri = `widgets/${ encodeURIComponent ( request . id ) } ` ;
146+ const uriPartId = request . id != null && encodeURIComponent ( request . id ) ;
147+ if ( ! uriPartId ) {
148+ return Promise . resolve ( createRequiredRequestFieldError ( 'id' ) ) ;
149+ }
150+ const uri = `widgets/${ uriPartId } ` ;
139151 const fetchRequest = {
140152 method : 'POST' ,
141153 headers : { 'Content-Type' : 'application/json' } ,
@@ -187,7 +199,11 @@ class ExampleApiHttpClient {
187199 }
188200 /** Gets the widget weight. */
189201 getWidgetWeight ( request ) {
190- const uri = `widgets/${ encodeURIComponent ( request . id ) } /weight` ;
202+ const uriPartId = request . id != null && encodeURIComponent ( request . id ) ;
203+ if ( ! uriPartId ) {
204+ return Promise . resolve ( createRequiredRequestFieldError ( 'id' ) ) ;
205+ }
206+ const uri = `widgets/${ uriPartId } /weight` ;
191207 const fetchRequest = {
192208 method : 'GET'
193209 } ;
@@ -208,7 +224,11 @@ class ExampleApiHttpClient {
208224 }
209225 /** Gets a widget preference. */
210226 getPreference ( request ) {
211- const uri = `prefs/${ encodeURIComponent ( request . key ) } ` ;
227+ const uriPartKey = request . key != null && encodeURIComponent ( request . key ) ;
228+ if ( ! uriPartKey ) {
229+ return Promise . resolve ( createRequiredRequestFieldError ( 'key' ) ) ;
230+ }
231+ const uri = `prefs/${ uriPartKey } ` ;
212232 const fetchRequest = {
213233 method : 'GET'
214234 } ;
@@ -229,7 +249,11 @@ class ExampleApiHttpClient {
229249 }
230250 /** Sets a widget preference. */
231251 setPreference ( request ) {
232- const uri = `prefs/${ encodeURIComponent ( request . key ) } ` ;
252+ const uriPartKey = request . key != null && encodeURIComponent ( request . key ) ;
253+ if ( ! uriPartKey ) {
254+ return Promise . resolve ( createRequiredRequestFieldError ( 'key' ) ) ;
255+ }
256+ const uri = `prefs/${ uriPartKey } ` ;
233257 const fetchRequest = {
234258 method : 'PUT' ,
235259 headers : { 'Content-Type' : 'application/json' } ,
0 commit comments