Packages

Simple authentication module for the XTurn server.

Current section

Files

Jump to
xturn_simple_auth lib api api.ex
Raw

lib/api/api.ex

### ----------------------------------------------------------------------
###
### Copyright (c) 2013 - 2018 Lee Sylvester and Xirsys LLC <experts@xirsys.com>
###
### All rights reserved.
###
### XTurn is licensed by Xirsys under the Apache
### License, Version 2.0. (the "License");
###
### you may not use this file except in compliance with the License.
### You may obtain a copy of the License at
###
### http://www.apache.org/licenses/LICENSE-2.0
###
### Unless required by applicable law or agreed to in writing, software
### distributed under the License is distributed on an "AS IS" BASIS,
### WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
### See the License for the specific language governing permissions and
### limitations under the License.
###
### See LICENSE for the full license text.
###
### ----------------------------------------------------------------------
defmodule Xirsys.XTurn.SimpleAuth.API do
use Xirsys.XTurn.SimpleAuth.Server
plug(Plug.Parsers,
pass: ["*/*"],
json_decoder: Jason,
parsers: [:urlencoded, :json, :multipart]
)
mount(Xirsys.XTurn.SimpleAuth.API.Router.Auth)
rescue_from([MatchError, RuntimeError], with: :custom_error)
rescue_from :all, as: e do
conn
|> put_status(Plug.Exception.status(e))
|> text("Server Error: #{inspect(e)}")
end
defp custom_error(conn, exception) do
conn
|> put_status(500)
|> text(exception.message)
end
end