mirror of
https://gitlab.com/msrd0/gotham-restful.git
synced 2025-02-23 04:52:28 +00:00
fix some clippy warnings
This commit is contained in:
parent
147ea980bf
commit
d08d9bea8c
7 changed files with 46 additions and 48 deletions
|
@ -240,7 +240,7 @@ where
|
||||||
|
|
||||||
// get the secret from the handler, possibly decoding claims ourselves
|
// get the secret from the handler, possibly decoding claims ourselves
|
||||||
let secret = self.handler.jwt_secret(state, || {
|
let secret = self.handler.jwt_secret(state, || {
|
||||||
let b64 = token.split(".").nth(1)?;
|
let b64 = token.split('.').nth(1)?;
|
||||||
let raw = base64::decode_config(b64, base64::URL_SAFE_NO_PAD).ok()?;
|
let raw = base64::decode_config(b64, base64::URL_SAFE_NO_PAD).ok()?;
|
||||||
serde_json::from_slice(&raw).ok()?
|
serde_json::from_slice(&raw).ok()?
|
||||||
});
|
});
|
||||||
|
@ -261,7 +261,7 @@ where
|
||||||
};
|
};
|
||||||
|
|
||||||
// we found a valid token
|
// we found a valid token
|
||||||
return AuthStatus::Authenticated(data);
|
AuthStatus::Authenticated(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#![allow(clippy::tabs_in_doc_comments)]
|
||||||
/*!
|
/*!
|
||||||
This crate is an extension to the popular [gotham web framework][gotham] for Rust. The idea is to
|
This crate is an extension to the popular [gotham web framework][gotham] for Rust. The idea is to
|
||||||
have several RESTful resources that can be added to the gotham router. This crate will take care
|
have several RESTful resources that can be added to the gotham router. This crate will take care
|
||||||
|
|
|
@ -136,7 +136,7 @@ impl NewHandler for OpenapiHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "auth")]
|
#[cfg(feature = "auth")]
|
||||||
const SECURITY_NAME : &'static str = "authToken";
|
const SECURITY_NAME : &str = "authToken";
|
||||||
|
|
||||||
#[cfg(feature = "auth")]
|
#[cfg(feature = "auth")]
|
||||||
fn get_security(state : &mut State) -> IndexMap<String, ReferenceOr<SecurityScheme>>
|
fn get_security(state : &mut State) -> IndexMap<String, ReferenceOr<SecurityScheme>>
|
||||||
|
@ -249,7 +249,7 @@ impl<'a> OperationParams<'a>
|
||||||
{
|
{
|
||||||
params.push(Item(Parameter::Path {
|
params.push(Item(Parameter::Path {
|
||||||
parameter_data: ParameterData {
|
parameter_data: ParameterData {
|
||||||
name: param.to_string(),
|
name: (*param).to_string(),
|
||||||
description: None,
|
description: None,
|
||||||
required: true,
|
required: true,
|
||||||
deprecated: None,
|
deprecated: None,
|
||||||
|
|
|
@ -9,7 +9,10 @@ use openapiv3::{
|
||||||
};
|
};
|
||||||
#[cfg(feature = "uuid")]
|
#[cfg(feature = "uuid")]
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
use std::collections::{BTreeSet, HashSet};
|
use std::{
|
||||||
|
collections::{BTreeSet, HashSet},
|
||||||
|
hash::BuildHasher
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This struct needs to be available for every type that can be part of an OpenAPI Spec. It is
|
This struct needs to be available for every type that can be part of an OpenAPI Spec. It is
|
||||||
|
@ -296,7 +299,7 @@ impl<T : OpenapiType> OpenapiType for BTreeSet<T>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T : OpenapiType> OpenapiType for HashSet<T>
|
impl<T : OpenapiType, S : BuildHasher> OpenapiType for HashSet<T, S>
|
||||||
{
|
{
|
||||||
fn schema() -> OpenapiSchema
|
fn schema() -> OpenapiSchema
|
||||||
{
|
{
|
||||||
|
|
|
@ -120,6 +120,7 @@ impl Method
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::large_enum_variant)]
|
||||||
enum MethodArgumentType
|
enum MethodArgumentType
|
||||||
{
|
{
|
||||||
StateRef,
|
StateRef,
|
||||||
|
@ -176,9 +177,8 @@ impl Spanned for MethodArgument
|
||||||
|
|
||||||
fn interpret_arg_ty(index : usize, attrs : &[Attribute], name : &str, ty : Type) -> Result<MethodArgumentType, Error>
|
fn interpret_arg_ty(index : usize, attrs : &[Attribute], name : &str, ty : Type) -> Result<MethodArgumentType, Error>
|
||||||
{
|
{
|
||||||
let attr = attrs.into_iter()
|
let attr = attrs.iter()
|
||||||
.filter(|arg| arg.path.segments.iter().filter(|path| &path.ident.to_string() == "rest_arg").nth(0).is_some())
|
.find(|arg| arg.path.segments.iter().any(|path| &path.ident.to_string() == "rest_arg"))
|
||||||
.nth(0)
|
|
||||||
.map(|arg| arg.tokens.to_string());
|
.map(|arg| arg.tokens.to_string());
|
||||||
|
|
||||||
if cfg!(feature = "auth") && (attr.as_deref() == Some("auth") || (attr.is_none() && name == "auth"))
|
if cfg!(feature = "auth") && (attr.as_deref() == Some("auth") || (attr.is_none() && name == "auth"))
|
||||||
|
@ -219,19 +219,17 @@ fn interpret_arg(index : usize, arg : &PatType) -> Result<MethodArgument, Error>
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "openapi")]
|
#[cfg(feature = "openapi")]
|
||||||
fn expand_operation_id(attrs : &AttributeArgs) -> TokenStream2
|
fn expand_operation_id(attrs : &[NestedMeta]) -> TokenStream2
|
||||||
{
|
{
|
||||||
let mut operation_id : Option<&Lit> = None;
|
let mut operation_id : Option<&Lit> = None;
|
||||||
for meta in attrs
|
for meta in attrs
|
||||||
{
|
{
|
||||||
match meta {
|
if let NestedMeta::Meta(Meta::NameValue(kv)) = meta
|
||||||
NestedMeta::Meta(Meta::NameValue(kv)) => {
|
{
|
||||||
if kv.path.segments.last().map(|p| p.ident.to_string()) == Some("operation_id".to_owned())
|
if kv.path.segments.last().map(|p| p.ident.to_string()) == Some("operation_id".to_owned())
|
||||||
{
|
{
|
||||||
operation_id = Some(&kv.lit)
|
operation_id = Some(&kv.lit)
|
||||||
}
|
}
|
||||||
},
|
|
||||||
_ => {}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,25 +245,23 @@ fn expand_operation_id(attrs : &AttributeArgs) -> TokenStream2
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(feature = "openapi"))]
|
#[cfg(not(feature = "openapi"))]
|
||||||
fn expand_operation_id(_ : &AttributeArgs) -> TokenStream2
|
fn expand_operation_id(_ : &[NestedMeta]) -> TokenStream2
|
||||||
{
|
{
|
||||||
quote!()
|
quote!()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn expand_wants_auth(attrs : &AttributeArgs, default : bool) -> TokenStream2
|
fn expand_wants_auth(attrs : &[NestedMeta], default : bool) -> TokenStream2
|
||||||
{
|
{
|
||||||
let default_lit = Lit::Bool(LitBool { value: default, span: Span::call_site() });
|
let default_lit = Lit::Bool(LitBool { value: default, span: Span::call_site() });
|
||||||
let mut wants_auth = &default_lit;
|
let mut wants_auth = &default_lit;
|
||||||
for meta in attrs
|
for meta in attrs
|
||||||
{
|
{
|
||||||
match meta {
|
if let NestedMeta::Meta(Meta::NameValue(kv)) = meta
|
||||||
NestedMeta::Meta(Meta::NameValue(kv)) => {
|
{
|
||||||
if kv.path.segments.last().map(|p| p.ident.to_string()) == Some("wants_auth".to_owned())
|
if kv.path.segments.last().map(|p| p.ident.to_string()) == Some("wants_auth".to_owned())
|
||||||
{
|
{
|
||||||
wants_auth = &kv.lit
|
wants_auth = &kv.lit
|
||||||
}
|
}
|
||||||
},
|
|
||||||
_ => {}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -277,6 +273,7 @@ fn expand_wants_auth(attrs : &AttributeArgs, default : bool) -> TokenStream2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::comparison_chain)]
|
||||||
fn expand(method : Method, attrs : TokenStream, item : TokenStream) -> Result<TokenStream2, Error>
|
fn expand(method : Method, attrs : TokenStream, item : TokenStream) -> Result<TokenStream2, Error>
|
||||||
{
|
{
|
||||||
let krate = super::krate();
|
let krate = super::krate();
|
||||||
|
@ -381,7 +378,7 @@ fn expand(method : Method, attrs : TokenStream, item : TokenStream) -> Result<To
|
||||||
{
|
{
|
||||||
block = quote!(#block; Default::default())
|
block = quote!(#block; Default::default())
|
||||||
}
|
}
|
||||||
if let Some(arg) = args.iter().filter(|arg| (*arg).ty.is_database_conn()).nth(0)
|
if let Some(arg) = args.iter().find(|arg| (*arg).ty.is_database_conn())
|
||||||
{
|
{
|
||||||
if fun_is_async
|
if fun_is_async
|
||||||
{
|
{
|
||||||
|
@ -403,7 +400,7 @@ fn expand(method : Method, attrs : TokenStream, item : TokenStream) -> Result<To
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if let Some(arg) = args.iter().filter(|arg| (*arg).ty.is_auth_status()).nth(0)
|
if let Some(arg) = args.iter().find(|arg| (*arg).ty.is_auth_status())
|
||||||
{
|
{
|
||||||
let auth_ty = arg.ty.quote_ty();
|
let auth_ty = arg.ty.quote_ty();
|
||||||
state_block = quote! {
|
state_block = quote! {
|
||||||
|
|
|
@ -44,10 +44,9 @@ fn expand_where(generics : &Generics) -> TokenStream2
|
||||||
{
|
{
|
||||||
if generics.params.is_empty()
|
if generics.params.is_empty()
|
||||||
{
|
{
|
||||||
quote!()
|
return quote!();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
let krate = super::krate();
|
let krate = super::krate();
|
||||||
let idents = generics.params.iter()
|
let idents = generics.params.iter()
|
||||||
.map(|param| match param {
|
.map(|param| match param {
|
||||||
|
@ -60,7 +59,6 @@ fn expand_where(generics : &Generics) -> TokenStream2
|
||||||
quote! {
|
quote! {
|
||||||
where #(#idents : #krate::OpenapiType),*
|
where #(#idents : #krate::OpenapiType),*
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
#[derive(Debug, Default)]
|
||||||
|
@ -98,8 +96,7 @@ fn remove_parens(input : TokenStream2) -> TokenStream2
|
||||||
}
|
}
|
||||||
Box::new(iter::once(tt))
|
Box::new(iter::once(tt))
|
||||||
});
|
});
|
||||||
let output = TokenStream2::from_iter(iter);
|
TokenStream2::from_iter(iter)
|
||||||
output
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_attributes(input : &[Attribute]) -> Result<Attrs, Error>
|
fn parse_attributes(input : &[Attribute]) -> Result<Attrs, Error>
|
||||||
|
|
|
@ -67,7 +67,7 @@ fn expand(tokens : TokenStream) -> Result<TokenStream2, Error>
|
||||||
.filter(|attr| attr.path.segments.iter().last().map(|segment| segment.ident.to_string()) == Some("supported_types".to_string()))
|
.filter(|attr| attr.path.segments.iter().last().map(|segment| segment.ident.to_string()) == Some("supported_types".to_string()))
|
||||||
.flat_map(|attr|
|
.flat_map(|attr|
|
||||||
syn::parse2::<MimeList>(attr.tokens)
|
syn::parse2::<MimeList>(attr.tokens)
|
||||||
.map(|list| Box::new(list.0.into_iter().map(|mime| Ok(mime))) as Box<dyn Iterator<Item = Result<Path, Error>>>)
|
.map(|list| Box::new(list.0.into_iter().map(Ok)) as Box<dyn Iterator<Item = Result<Path, Error>>>)
|
||||||
.unwrap_or_else(|err| Box::new(iter::once(Err(err)))))
|
.unwrap_or_else(|err| Box::new(iter::once(Err(err)))))
|
||||||
.collect_to_result()?;
|
.collect_to_result()?;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue