@@ -13,6 +13,20 @@ export class ApiEndpointBase extends BaseComponent {
1313 this . _activeCodeTab = 'curl' ;
1414 }
1515
16+ /**
17+ * Escape HTML characters to prevent rendering as HTML
18+ * @param {string } str - String to escape
19+ * @returns {string } - Escaped string
20+ */
21+ escapeHtml ( str ) {
22+ return str
23+ . replace ( / & / g, '&' )
24+ . replace ( / < / g, '<' )
25+ . replace ( / > / g, '>' )
26+ . replace ( / " / g, '"' )
27+ . replace ( / ' / g, ''' ) ;
28+ }
29+
1630 /**
1731 * Get the component's styles
1832 * @returns {string } - CSS styles
@@ -234,37 +248,37 @@ export class ApiEndpointBase extends BaseComponent {
234248
235249 <div class="code-content ${ this . _activeCodeTab === 'curl' ? 'active' : '' } " data-code="curl" style="display: ${ this . _activeCodeTab === 'curl' ? 'block' : 'none' } ">
236250 <div class="code-block">
237- <pre>${ examples . curl } </pre>
251+ <pre>${ this . escapeHtml ( examples . curl ) } </pre>
238252 </div>
239253 </div>
240254
241255 <div class="code-content ${ this . _activeCodeTab === 'fetch' ? 'active' : '' } " data-code="fetch" style="display: ${ this . _activeCodeTab === 'fetch' ? 'block' : 'none' } ">
242256 <div class="code-block">
243- <pre>${ examples . fetch } </pre>
257+ <pre>${ this . escapeHtml ( examples . fetch ) } </pre>
244258 </div>
245259 </div>
246260
247261 <div class="code-content ${ this . _activeCodeTab === 'nodejs' ? 'active' : '' } " data-code="nodejs" style="display: ${ this . _activeCodeTab === 'nodejs' ? 'block' : 'none' } ">
248262 <div class="code-block">
249- <pre>${ examples . nodejs } </pre>
263+ <pre>${ this . escapeHtml ( examples . nodejs ) } </pre>
250264 </div>
251265 </div>
252266
253267 <div class="code-content ${ this . _activeCodeTab === 'python' ? 'active' : '' } " data-code="python" style="display: ${ this . _activeCodeTab === 'python' ? 'block' : 'none' } ">
254268 <div class="code-block">
255- <pre>${ examples . python } </pre>
269+ <pre>${ this . escapeHtml ( examples . python ) } </pre>
256270 </div>
257271 </div>
258272
259273 <div class="code-content ${ this . _activeCodeTab === 'php' ? 'active' : '' } " data-code="php" style="display: ${ this . _activeCodeTab === 'php' ? 'block' : 'none' } ">
260274 <div class="code-block">
261- <pre>${ examples . php } </pre>
275+ <pre>${ this . escapeHtml ( examples . php ) } </pre>
262276 </div>
263277 </div>
264278
265279 <div class="code-content ${ this . _activeCodeTab === 'ruby' ? 'active' : '' } " data-code="ruby" style="display: ${ this . _activeCodeTab === 'ruby' ? 'block' : 'none' } ">
266280 <div class="code-block">
267- <pre>${ examples . ruby } </pre>
281+ <pre>${ this . escapeHtml ( examples . ruby ) } </pre>
268282 </div>
269283 </div>
270284 </div>
@@ -313,7 +327,7 @@ export class ApiEndpointBase extends BaseComponent {
313327 return `
314328 <div class="section-title">Response</div>
315329 <div class="code-block">
316- <pre>${ responseExample } </pre>
330+ <pre>${ this . escapeHtml ( responseExample ) } </pre>
317331 </div>
318332 ` ;
319333 }
0 commit comments