miso
Copyright(C) 2016-2025 David M. Johnson
LicenseBSD3-style (see the file LICENSE)
MaintainerDavid M. Johnson <code@dmj.io>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Miso.Fetch

Description

Module for interacting with the Fetch API https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API manually.

Refer to the miso README if you want to automatically interact with a Servant API.

Synopsis

Documentation

fetch Source #

Arguments

:: FromJSON result 
=> MisoString

url

-> MisoString

method

-> Maybe MisoString

body

-> [(MisoString, MisoString)]

headers

-> (result -> action)

successful callback

-> (MisoString -> action)

errorful callback

-> Effect model action 

See https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

data Action
 = FetchGitHub
 | SetGitHub GitHub
 | ErrorHandler MisoString
 deriving (Show, Eq)

updateModel :: Action -> Effect Model Action
updateModel FetchGitHub =
  fetch "https://api.github.com" GET Nothing [] SetGitHub ErrorHandler
updateModel (SetGitHub apiInfo) =
  info ?= apiInfo
updateModel (ErrorHandler msg) =
 io_ (consoleError msg)