Ada 程式設計/庫/Web/AWS
外觀
AWS,Ada Web 伺服器,是一個完整的框架,用於開發基於 Web 的應用程式。AWS 的主要部分是嵌入式Web 伺服器。這個小巧但功能強大的 Web 伺服器可以嵌入到您的應用程式中,使其能夠與標準 Web 瀏覽器進行通訊。圍繞這個 Web 伺服器,開發了許多服務。
AWS 的著名 Hello World 演示,一個完整的 Web 伺服器,它將為對localhost埠8080的每個請求顯示“Hello world!”。
withAWS.Default;withAWS.Response;withAWS.Server;withAWS.Status;procedureHello_WorldisWS : AWS.Server.HTTP;functionHW_CB (Request : AWS.Status.Data)returnAWS.Response.DataisbeginreturnAWS.Response.Build ("text/html", "Hello world !");endHW_CB;beginAWS.Server.Start (WS, "Hello World", Callback => HW_CB'Access);delay60.0; AWS.Server.Shutdown (WS);endHello_World;
可以使用記錄傳遞伺服器的配置引數。還可以使用 AWS 上的內建過程來等待事件。
callbacks.adb
packagebodyCallbacksisfunctionHW_CB (Request : AWS.Status.Data)returnAWS.Response.DataisbeginreturnAWS.Response.Build ("text/html", "Hello world !");endHW_CB;endCallbacks;
callbacks.ads
withAWS.Status;withAWS.Response;packageCallbacksisfunctionHW_CB (Request : AWS.Status.Data)returnAWS.Response.Data;endCallbacks;
main.adb
withAWS.Config.Set;withAWS.Server;procedureMainisuseAWS; Host :constantString := "localhost"; Port :constant:= 8080; Web_Server : Server.HTTP; Web_Config : Config.Object;begin-- Setup Config.Set.Server_Host (Web_Config, Host); Config.Set.Server_Port (Web_Config, Port); -- Start the server Server.Start (Web_Server => Web_Server, Callback => Callbacks.HW_CB'Access, Config => Web_Config); -- Wait for the Q key Server.Wait (Server.Q_Key_Pressed); -- Stop the server Server.Shutdown (Web_Server);endMain;
與bitcoind JSON-RPC 互動。
bitcoin.adb
withAWS.Client;withAWS.Headers;withAWS.Headers.Set;withAWS.Response;packagebodyBitcoinisfunctionGet_Wallet_InforeturnAWS.Response.Dataishdrs : AWS.Headers.List := AWS.Headers.Empty_List;beginAWS.Headers.Set.Add(hdrs, "Content-Type", "text/plain");returnAWS.Client.Post(URL => "http://127.0.0.1:8332/", Data => "{""jsonrpc"": ""1.0"", ""id"":""test"", ""method"": ""getwalletinfo"", ""params"": []}", User => "bitcoinrpcUSERNAME", Pwd => "bitcoinrpcPASSWORD", Headers => hdrs);endGet_Wallet_Info;endBitcoin;
透過開啟 Bitcoin Core 並點選選項視窗上的對應按鈕來建立 bitcoin.conf 檔案。以下是示例配置檔案。然後重新開啟 bitcoin-qt 或啟動 bitcoind 守護程序以啟動伺服器。bitcoin-cli 程式和測試網路可用於測試 RPC 命令。
bitcoin.conf
# Expose the RPC/JSON API server=1 rpcuser=USERNAME rpcpassword=PASSWORD
