summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/mattermost/ldap/debug.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/mattermost/ldap/debug.go')
-rw-r--r--vendor/github.com/mattermost/ldap/debug.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/github.com/mattermost/ldap/debug.go b/vendor/github.com/mattermost/ldap/debug.go
new file mode 100644
index 00000000..dfddd5f2
--- /dev/null
+++ b/vendor/github.com/mattermost/ldap/debug.go
@@ -0,0 +1,37 @@
+package ldap
+
+import (
+ "bytes"
+ "log"
+
+ ber "github.com/go-asn1-ber/asn1-ber"
+)
+
+const LDAP_TRACE_PREFIX = "ldap-trace: "
+
+// debugging type
+// - has a Printf method to write the debug output
+type debugging bool
+
+// Enable controls debugging mode.
+func (debug *debugging) Enable(b bool) {
+ *debug = debugging(b)
+}
+
+// Printf writes debug output.
+func (debug debugging) Printf(format string, args ...interface{}) {
+ if debug {
+ format = LDAP_TRACE_PREFIX + format
+ log.Printf(format, args...)
+ }
+}
+
+// PrintPacket dumps a packet.
+func (debug debugging) PrintPacket(packet *ber.Packet) {
+ if debug {
+ var b bytes.Buffer
+ ber.WritePacket(&b, packet)
+ textToPrint := LDAP_TRACE_PREFIX + b.String()
+ log.Printf(textToPrint)
+ }
+}