1/*2Maddy Mail Server - Composable all-in-one email server.3Copyright © 2019-2020 Max Mazurov <fox.cpp@disroot.org>, Maddy Mail Server contributors45This program is free software: you can redistribute it and/or modify6it under the terms of the GNU General Public License as published by7the Free Software Foundation, either version 3 of the License, or8(at your option) any later version.910This program is distributed in the hope that it will be useful,11but WITHOUT ANY WARRANTY; without even the implied warranty of12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13GNU General Public License for more details.1415You should have received a copy of the GNU General Public License16along with this program. If not, see <https://www.gnu.org/licenses/>.17*/1819package msgpipeline2021import (22 "fmt"2324 "github.com/foxcpp/maddy/framework/module"25)2627// objectName returns a new that is usable to identify the used external28// component (module or some stub) in debug logs.29func objectName(x interface{}) string {30 mod, ok := x.(module.Module)31 if ok {32 return mod.Name() + ":" + mod.InstanceName()33 }3435 _, pipeline := x.(*MsgPipeline)36 if pipeline {37 return "reroute"38 }3940 str, ok := x.(fmt.Stringer)41 if ok {42 return str.String()43 }4445 return fmt.Sprintf("%T", x)46}