module OAuth

using HTTP, MbedTLS, Base64, Random

export
    oauth_timestamp,
    oauth_nonce,
    oauth_sign_hmac_sha1,
    oauth_signing_key,
    oauth_signature_base_string,
    oauth_percent_encode_keys!,
    oauth_serialize_url_parameters,
    encodeURI!,
    oauth_body_hash_file,
    oauth_body_hash_data,
    oauth_body_hash_encode,
    oauth_header,
    oauth_request_resource,
    OAuth1a,
    OAuth2

abstract type AbstractOAuth end

include("common_functions.jl")
include("oauth1a.jl")
include("oauth2.jl")

end