HTTP要求クラス (PRIM_WEB.HttpRequest)

HTTP要求

祖先 - オブジェクト (PRIM_OBJT)

詳細

HTTPRequest を使用すると、サードパーティの HTTP サービスにアクセスできるため、 LANSA を他の Web サービスと統合することができます。 
HTTPRequest は事実上 JavaScript の標準 XMLHttpRequest です。
HTTPRequests は、実行するルーチン内で定義する必要があります。これにより、実行されるたびに新しいインスタンスが作成されます。Completed イベントと Failed イベントの対応するイベント・ルーチンは、同じルーチンでコーディングされています。
LANSA ランタイムは、完了するまでインスタンスを維持します。これにより、同じルーチンが何度も実行され、多くの要求が実行され、それぞれ独立して結果が生成されます。
HTTPRequest がグローバルスコープとして存在する場合、 1 つのインスタンスしか存在しません。
イベントは他の子イベントルーチンを持つことができないため、 HTTPRequest インスタンスを EVTROUTINE で定義することはできません。

この例では、 Weather API が非同期で実行され、データを JSON オブジェクトとして返します。
完了したイベントが発生すると、結果が処理されます。

     Mthroutine Name(GetWeather) Access(*Private)
Define_Map For(*Input) Class(#prim_alph) Name(#Resource)
        Define_Com Class(#PRIM_WEB.HttpRequest) Name(#Request) 
        #Request.URL := "http://api.openweathermap.org" + #Resource 
        #Request.ExecuteAsync 
        Evtroutine Handling(#Request.Completed) 
           If (#Request.Response *IsNot *null) 
           Case (#Request.Response.Status)
When (= 200)
              #Com_owner.Update( #Request.Response.JSON.RootItem ) 
           Otherwise 
              #Com_owner.UpdateForFailure( #Request ) 
           Endcase 
           Endif 
        Endroutine 
     Endroutine

プロパティ

名前

記述

ComponentClassName

コンポーネントのクラス名です。 オブジェクト (PRIM_OBJT) より継承

ComponentMembers

このコンポーネントの全てにアクセスできるようにします。 オブジェクト (PRIM_OBJT) より継承

ComponentPatternName

コンポーネントのクラスを制限します。 オブジェクト (PRIM_OBJT) より継承

ComponentTag

インスタンス用に値を格納できる汎用スペース オブジェクト (PRIM_OBJT) より継承

ComponentType

ComponentTypeではコンポーネントのタイプ情報にアクセスできます。 オブジェクト (PRIM_OBJT) より継承

ComponentTypeName

ComponentTypeName十分適格なコンポーネントのクラス名です。 オブジェクト (PRIM_OBJT) より継承

Content

HTTP要求の内容

Headers

HTTPヘッダー

IncludeCookies

要求送信時にクッキーを含有

Method

GET、POSTなどの標準HTTP要求メソッド

Name

コンポーネントの名前 オブジェクト (PRIM_OBJT) より継承

Owner

コンポーネントのオーナーです。 オブジェクト (PRIM_OBJT) より継承

Parent

このインスタンスが添付されているコンポーネントインスタンス。コントロールのビジュアルコンテナまたは子インスタンスのコレクション オブジェクト (PRIM_OBJT) より継承

Response

要求により返されたHTTP応答オブジェクトへの参照

Status

標準HTTP要求のステータスコード

Timeout

標準HTTP要求タイムアウト

Url

要求のURL

イベント

名前

記述

Completed

処理の正常終了後HTTP要求が返された時に起動されます。

CreateInstance

コンポーネントを作成する時にCreateInstanceのイベントを実行します。 HttpRequestクラス (PRIM_WEB.HttpRequest) より継承

DestroyInstance

コンポーネントが解除される前にDestroyInstanceのイベントを実行します。 HttpRequestクラス (PRIM_WEB.HttpRequest) より継承

Failed

処理の異常終了後HTTP要求が返された時に起動されます。

メソッド

名前

記述

Cancel

HTTP要求をキャンセルします。

Execute

要求を同期的に実行します。

ExecuteAsync

要求を非同期に実行します。

参照

すべてのコンポーネント クラス
テクニカル リファレンス

  • No labels