juice-shop

Форк
0
/
code-snippet.service.ts 
37 строк · 1.1 Кб
1
/*
2
 * Copyright (c) 2014-2024 Bjoern Kimminich & the OWASP Juice Shop contributors.
3
 * SPDX-License-Identifier: MIT
4
 */
5

6
import { environment } from '../../environments/environment'
7
import { Injectable } from '@angular/core'
8
import { HttpClient } from '@angular/common/http'
9
import { catchError, map } from 'rxjs/operators'
10
import { type Observable } from 'rxjs'
11

12
export interface CodeSnippet {
13
  vulnLines?: number[]
14
  snippet: string
15
}
16

17
export interface Solved {
18
  challenges: string[]
19
}
20

21
@Injectable({
22
  providedIn: 'root'
23
})
24
export class CodeSnippetService {
25
  private readonly hostServer = environment.hostServer
26
  private readonly host = this.hostServer + '/snippets'
27

28
  constructor (private readonly http: HttpClient) { }
29

30
  get (key: string): Observable<CodeSnippet> {
31
    return this.http.get<CodeSnippet>(`${this.host}/${key}`).pipe(map((response: CodeSnippet) => response), catchError((err) => { throw err }))
32
  }
33

34
  challenges (): Observable<string[]> {
35
    return this.http.get(`${this.host}`).pipe(map((response: any) => response.challenges), catchError((err) => { throw err }))
36
  }
37
}
38

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.