Posted to tcl by mookie at Sat Nov 01 01:57:37 GMT 2025view raw

  1. namespace eval crystal::netdisc::fountain { crystal::debug 1 "" "-> [file tail [info script]]"}
  2. variable namespace "crystal::netdisc::[file rootname [file tail [info script]]]"
  3. # Method # URI # Procedure to execute # CraftSheet / HTML Method
  4. crystal::register "GET" "/::crystal/fountain" "${namespace}" "fountain" "get"
  5. crystal::register "POST" "/::crystal/fountain" "${namespace}" "fountain" "post"
  6. ##
  7. # crystal::ghui ghui/system.ix
  8. # crystal::prompt::load prompt/system.ix
  9. # crystal::render crystal/render.ix
  10. # crystal::construct crystal/construct.ix
  11. ##
  12. proc crystal::netdisc::fountain {{args}} {
  13. namespace eval crystal::netdisc::execute {}
  14. variable base32_input [crystal::lidx $args 0]
  15. variable base32_phase [crystal::lidx $args 1]
  16. crystal::debug 0 "$base32_input" "base32_input"
  17. crystal::debug 0 "$base32_phase" "base32_phase"
  18. proc crystal::netdisc::execute {base32_input base32_phase} {
  19. variable crystal [crystal::client::construct $base32_input]
  20. interp eval $crystal [list variable base32_phase $base32_phase]
  21. interp eval $crystal {
  22. # Switch method
  23. # Dependent on if it's GET or POST
  24. # Set or Get a idx
  25. # Case
  26. # post - Get the client_key via formvalue
  27. # get - Get the identity via URL query
  28. switch $base32_phase {
  29. post {
  30. variable base16_crystal [crystal::client::set "base16_indentity" [crystal::client::get formvalue "formkey"]]
  31. variable base16_client_key [crystal::client::get identity $base16_crystal]
  32. }
  33. get {
  34. variable base16_crystal [crystal::client::set "base16_indentity" [crystal::client::query]]
  35. variable base16_client_key [crystal::client::get identity $base16_crystal]
  36. }
  37. } ;# end switch
  38. # Store the craftsheet in to the client keys store
  39. crystal::hextdict "insert_to" "$base16_client_key" "ghui" "craftsheet" \
  40. "[crystal::render::craftsheet $base32_input]"
  41. crystal::prompt load $base16_client_key $base32_input
  42. # crystal::prompt::load $base16_client_key $base32_input
  43. # Render our data retrieved from our clients dictonary
  44. # Construct the query string passed from client and render
  45. crystal::render [crystal::construct $base16_client_key "$base32_input"]
  46. } ;# end interp
  47. } ;# end proc
  48. crystal::netdisc::execute $base32_input $base32_phase
  49. } ;#end proc

AltStyle によって変換されたページ (->オリジナル) /