use async_trait::async_trait;
use axum::response::{IntoResponse, Response};
use hyper::StatusCode;
use crate::Context;
#[async_trait]
pub trait Resource<S = ()>
where
S: Clone + Send + Sync + 'static,
{
async fn get(_ctx: Context<S>) -> Response {
(StatusCode::NOT_IMPLEMENTED, "Method Not Allowed").into_response()
}
async fn post(_ctx: Context<S>) -> Response {
(StatusCode::NOT_IMPLEMENTED, "Method Not Allowed").into_response()
}
async fn put(_ctx: Context<S>) -> Response {
(StatusCode::NOT_IMPLEMENTED, "Method Not Allowed").into_response()
}
async fn delete(_ctx: Context<S>) -> Response {
(StatusCode::NOT_IMPLEMENTED, "Method Not Allowed").into_response()
}
async fn patch(_ctx: Context<S>) -> Response {
(StatusCode::NOT_IMPLEMENTED, "Method Not Allowed").into_response()
}
async fn options(_ctx: Context<S>) -> Response {
(StatusCode::NOT_IMPLEMENTED, "Method Not Allowed").into_response()
}
async fn trace(_ctx: Context<S>) -> Response {
(StatusCode::NOT_IMPLEMENTED, "Method Not Allowed").into_response()
}
async fn head(_ctx: Context<S>) -> Response {
(StatusCode::NOT_IMPLEMENTED, "Method Not Allowed").into_response()
}
}