Sha256: 53c27376fcd342152de0cfe711b339daa78df29745498f29246b83ea8dacd428
Contents?: true
Size: 1.5 KB
Versions: 4
Compression:
Stored size: 1.5 KB
Contents
import { RequestInterceptor } from "@rails/request.js" import { FetchRequest } from "@rails/request.js" import { navigator } from "@hotwired/turbo" // // Inject Authorization & Content-Type into @rails/request.js requests. RequestInterceptor.register(async (request) => { request.addHeader("Authorization", `Bearer ${OAUTH_TOKEN}`) }) // // Setup Turbo Progress bar on @rails/request.js requests. export function showProgressBar() { navigator.delegate.adapter.progressBar.setValue(0) navigator.delegate.adapter.progressBar.show() } export function hideProgressBar() { navigator.delegate.adapter.progressBar.setValue(1) navigator.delegate.adapter.progressBar.hide() } export function withProgress(request) { new Promise(resolve => { showProgressBar() resolve(request.then(hideProgressBar)) }) return request } export function get (url, options) { const request = new FetchRequest("get", url, options) return withProgress(request.perform()) } export function post (url, options) { const request = new FetchRequest("post", url, options) return withProgress(request.perform()) } export function put (url, options) { const request = new FetchRequest("put", url, options) return withProgress(request.perform()) } export function patch (url, options) { const request = new FetchRequest("patch", url, options) return withProgress(request.perform()) } export function destroy (url, options) { const request = new FetchRequest("delete", url, options) return withProgress(request.perform()) }
Version data entries
4 entries across 4 versions & 1 rubygems