In VPN-haak dy’t in API-einpunt eksportearret, feroaret de omjouwing fan ’e prosessen dy’t er start, net dy fan it terminaal dat al iepen wie doe’t de tunnel omheech kaam. Krekt dat iene ûnderskie ferklearret de measte rapporten „it ark ropt noch hieltyd it iepenbiere einpunt oan“. Der binne twa wurkbere plakken foar de ynstelling, en de kar hinget ôf fan wa’t it brûkt en hoe faak it feroaret. Fergelykje se foardat jo noch in startskript tafoegje.

Twa plakken dêr’t de ynstelling libje kin

Opsje ien is in foarheaksel op it kommando sels: de wearde bestiet foar dy iene oanrop en ferdwynt dermei. Opsje twa is in eksport binnen de ferbininghaak, dy’t elk proses berikt dat de haak dêrnei start. Se ferskille yn berik en libbentiid, net yn syntaksis, en dat ferskil beslút de measte mislearrings.

PropertyPrefix on the commandExport from the hook
Who receives itThat invocation onlyChildren the hook starts
LifetimeUntil the process exitsUntil the hook's own session ends
LeakageScoped to one commandApplies to later commands in that session
Repeat costEvery invocationOnce per connection
Works for an open editorNo, unless the editor is started with itNo

De tabel lit de haak goedkeap lykje en ferberget de echte rekken: hy kiest ek in partikulier einpunt foar kommando’s dy’t neat mei de taak te krijen hawwe. Lês elke rige as in beheining, net as in foarkar. As it einpunt per taak feroaret, wint it foarheaksel op krektens, ek al kostet it ien toets oanslagje.

Wêrom’t de haak in al iepen shell net berikke kin

Omjouwingsfariabelen wurde oan in proses jûn as it prosesbyld makke wurdt. In shell dy’t foar de ferbining begûn, hâldt de kopy dy’t er krige, en in eksport dy’t binnen de haak útfierd wurdt is gjin útstjoering nei elk proses op ’e masine. Allinnich de eigen bern fan ’e haak ervet it. De eigen bern fan in shell nimme wat de shell op it stuit fan harren start hat, en dêrom kin itselde kommando yn it iene terminaal wurkje en yn it oare mislearje.

Hetzelfde jildt foar in grafyske bewurker. Syn ekstinsjehost, yntegrearre terminaal en eftergrûnstaalserver binne by it starten ôfsplitst en hâlde har eigen kopyen. It opnij iepenjen fan in map start dy bern net needsaaklikerwize opnij, dus de ynstelling dy’t jo tafoege hawwe komt noch hieltyd nea oan.

De goedkeapste test is de fariabele printsje fan it plak dat mislearret, net fan ’e shell dy’t wurket. As it mislearjende proses foar de tunnel begûn, hie de eksport nea in kâns.

De foarm per kommando, útskreaun

In foarheaksel hâldt de kar sichtber yn it kommando dat it brûkt, wat helpt as it einpunt tusken taken feroaret:

env INTERNAL_API='https://internal-api.example.net:8443' my-work-tool

It kommando is in foarbyld: my-work-tool is in plakferfanger en INTERNAL_API is gjin VPN-standert, ferfang it dus troch de dokumintearre ynstelling fan it programma dat jo echt draaie en troch jo eigen goedkarde host. Set gjin token of wachtwurd op deselde rigel, want it komt yn ’e skiednis fan ’e shell telâne.

As ferskate kommando’s by ien taak hearre, set in koart neisjoen omwinele skript de fariabelen en start se dêrnei. Sa bliuwt ien definysje bestean sûnder de wearde globaal te meitsjen foar elk takomstich kommando yn it terminaal.

Werlaad, start opnij of lit it gewurde

Foar in ark dat al draait, jou foarkar oan syn eigen werlaad of wurkromteprofyl as it dat hat. Oars bewarje jo wurk en starte jo it komponint opnij dat de ynstelling lêst, wat faak in taalserver is en net it finster fan ’e bewurker. It finster opnij starte en oannimme dat de bernprosessen folge binne, is krekt wêrom’t in werlaad liket as wurket it net.

It ferbrekken fan ’e ferbining is in aparte beslissing. Pauze, slute of wer ferbine heart by de applikaasje, en de fariabele fan it einpunt kontrolearret dat net. Behannelje de fariabele as konfiguraasje dy’t in adres kiest, net as in regel oer hokker netwurkferkear dernei brûkt wurde mei, en de beide saken bliuwe skiedber.

Relatearre artikelen