Skip to content
On this page

Middleware

flue3 из коробки middleware имеет скорее семантическую значимость, нежели техническую. Без плагинов flue3 предоставляет функции defineMiddleware и useMiddleware, которая по сути просто обёртка, которая передаёт appContext.

По факту, middleware полезны в связке с роутингом.

src/middleware/isAuthMiddleware.ts;

typescript
import {defineMiddleware, useState, useError} from 'flue3';

export const isAuthMiddleware = defineMiddleware(() => {
    const user = useState('user');
    const {error} = useError();
    
    if(!user.value) {
        error({
            status: 403,
            message: 'Authorization required',
        });
    }
});
vue
<template>
    <div>
        {{ user }}
    </div>
</template>

<script lang="ts" setup>
import {useMiddleware, useState} from 'flue3';
import {isAuthMiddleware} from '@/middleware/isAuthMiddleware';

await useMiddleware(isAuthMiddleware);

const user = useState('user');
</script>

Лицензия MIT. Используй как хочешь. Если хочешь...