Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ts clientのMiddlewareを刷新する #322

Open
2 tasks
moezakura opened this issue Jun 29, 2022 · 3 comments
Open
2 tasks

ts clientのMiddlewareを刷新する #322

moezakura opened this issue Jun 29, 2022 · 3 comments
Assignees

Comments

@moezakura
Copy link
Member

moezakura commented Jun 29, 2022

from: #202

api clientを刷新する。

  • addEventListenerでapiClientに対してMiddlewareを設定できるようにする
const client = new ApiClient();

client.addEventListener('load', (e) => {
  // some code
});
  • addEventListenerで各APIに対してもMiddlewareを設定できるようにする
const client = new ApiClient();
const getHogeRequestClient = new GetHogeClient({
  apiClient: client,
})
getHogeRequestClient.addEventListener('load', (e) => {
 // some code
});

const param: getHogeRequest = {};
getHogeRequestClient.send(param); // { raw: <APIのレスポンス>, context: <イベントが設定したデータなど> }

実装するEvent一覧

  • beforeRequest
    • リクエストを送信する直前
  • afterResponse
    • リクエストが返却されとき
  • onError
    • 内部のエラーをパースして任意のエラーに変更する

実装する関数群

  • event.StopEventChain
    • event chainを中断してリクエストを続行する
  • event.setContext
    • responseのContextに値を設定する
  • event.setResponse
    • respoonseに値を設定する
@say-ya-sigma
Copy link

errorイベント

@huequica
Copy link
Collaborator

  • onError
    • 「エラーのオブジェクトを引数として取り、エラーの構造体を parse したりして throw したりできたらよさそう」と思うなど

@say-ya-sigma
Copy link

beforeRequest
afterResponse

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants