All files / output zcl_abapgit_proxy_config.clas.mjs

8.75% Statements 7/80
66.66% Branches 2/3
10% Functions 1/10
8.75% Lines 7/80

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 801x 1x               1x 1x 1x                                                                                                                                     1x 1x
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_proxy_config.clas.abap
class zcl_abapgit_proxy_config {
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'ZCL_ABAPGIT_PROXY_CONFIG';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {"MO_SETTINGS": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_SETTINGS", RTTIName: "\\CLASS=ZCL_ABAPGIT_SETTINGS"});}, "visibility": "I", "is_constant": " ", "is_class": " "},
  "MI_EXIT": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_EXIT", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_EXIT"});}, "visibility": "I", "is_constant": " ", "is_class": " "}};
  static METHODS = {"BYPASS_PROXY": {"visibility": "I", "parameters": {"RV_BYPASS_PROXY": {"type": () => {return new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"});}, "is_optional": " "}, "IV_REPO_URL": {"type": () => {return new abap.types.Character();}, "is_optional": " "}}},
  "CONSTRUCTOR": {"visibility": "U", "parameters": {}},
  "GET_PROXY_URL": {"visibility": "U", "parameters": {"RV_PROXY_URL": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}, "IV_REPO_URL": {"type": () => {return new abap.types.Character();}, "is_optional": " "}}},
  "GET_PROXY_PORT": {"visibility": "U", "parameters": {"RV_PORT": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}, "IV_REPO_URL": {"type": () => {return new abap.types.Character();}, "is_optional": " "}}},
  "GET_PROXY_AUTHENTICATION": {"visibility": "U", "parameters": {"RV_AUTH": {"type": () => {return new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"});}, "is_optional": " "}, "IV_REPO_URL": {"type": () => {return new abap.types.Character();}, "is_optional": " "}}}};
  #mo_settings;
  #mi_exit;
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "bypass_proxy": this.#bypass_proxy.bind(this),
      "get_proxy_url": this.get_proxy_url.bind(this),
      "get_proxy_port": this.get_proxy_port.bind(this),
      "get_proxy_authentication": this.get_proxy_authentication.bind(this),
    };
    this.#mo_settings = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_SETTINGS", RTTIName: "\\CLASS=ZCL_ABAPGIT_SETTINGS"});
    this.FRIENDS_ACCESS_INSTANCE["mo_settings"] = this.#mo_settings;
    this.#mi_exit = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_EXIT", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_EXIT"});
    this.FRIENDS_ACCESS_INSTANCE["mi_exit"] = this.#mi_exit;
  }
  async #bypass_proxy(INPUT) {
    let rv_bypass_proxy = new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"});
    let iv_repo_url = INPUT?.iv_repo_url || new abap.types.Character();
    let lt_proxy_bypass = abap.types.TableFactory.construct(new abap.types.Structure({
    "sign": new abap.types.Character(1, undefined),
    "option": new abap.types.Character(2, undefined),
    "low": new abap.types.Character(255, {"qualifiedName":"zif_abapgit_definitions=>ty_proxy_bypass_url"}),
    "high": new abap.types.Character(255, {"qualifiedName":"zif_abapgit_definitions=>ty_proxy_bypass_url"})}, undefined, undefined, {}, {}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "zif_abapgit_definitions=>ty_range_proxy_bypass_url");
    lt_proxy_bypass.set((await this.#mo_settings.get().get_proxy_bypass()));
    if (abap.compare.initial(lt_proxy_bypass) === false && abap.compare.in(iv_repo_url, lt_proxy_bypass)) {
      rv_bypass_proxy.set(abap.builtin.abap_true);
    }
    return rv_bypass_proxy;
  }
  async constructor_(INPUT) {
    this.#mo_settings.set((await (await abap.Classes['ZCL_ABAPGIT_PERSIST_FACTORY'].get_settings()).get().zif_abapgit_persist_settings$read()));
    this.#mi_exit.set((await abap.Classes['ZCL_ABAPGIT_EXIT'].get_instance()));
    return this;
  }
  async get_proxy_authentication(INPUT) {
    let rv_auth = new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"});
    let iv_repo_url = INPUT?.iv_repo_url || new abap.types.Character();
    if (abap.compare.eq((await this.#bypass_proxy({iv_repo_url: iv_repo_url})), abap.builtin.abap_false)) {
      rv_auth.set((await this.#mo_settings.get().get_proxy_authentication()));
    }
    await this.#mi_exit.get().zif_abapgit_exit$change_proxy_authentication({iv_repo_url: iv_repo_url, cv_proxy_authentication: rv_auth});
    return rv_auth;
  }
  async get_proxy_port(INPUT) {
    let rv_port = new abap.types.String({qualifiedName: "STRING"});
    let iv_repo_url = INPUT?.iv_repo_url || new abap.types.Character();
    if (abap.compare.eq((await this.#bypass_proxy({iv_repo_url: iv_repo_url})), abap.builtin.abap_false)) {
      rv_port.set((await this.#mo_settings.get().get_proxy_port()));
    }
    await this.#mi_exit.get().zif_abapgit_exit$change_proxy_port({iv_repo_url: iv_repo_url, cv_proxy_port: rv_port});
    abap.statements.condense(rv_port, {nogaps: false});
    return rv_port;
  }
  async get_proxy_url(INPUT) {
    let rv_proxy_url = new abap.types.String({qualifiedName: "STRING"});
    let iv_repo_url = INPUT?.iv_repo_url || new abap.types.Character();
    if (abap.compare.eq((await this.#bypass_proxy({iv_repo_url: iv_repo_url})), abap.builtin.abap_false)) {
      rv_proxy_url.set((await this.#mo_settings.get().get_proxy_url()));
    }
    await this.#mi_exit.get().zif_abapgit_exit$change_proxy_url({iv_repo_url: iv_repo_url, cv_proxy_url: rv_proxy_url});
    return rv_proxy_url;
  }
}
abap.Classes['ZCL_ABAPGIT_PROXY_CONFIG'] = zcl_abapgit_proxy_config;
export {zcl_abapgit_proxy_config};