From 597db4e001bb3b59fde71338122c92b3e0be11ef Mon Sep 17 00:00:00 2001 From: Charles Iliya Krempeaux Date: Fri, 19 Jul 2019 16:33:55 -0700 Subject: [PATCH] errhttp.PayloadTooLarge --- payloadtoolarge.go | 32 ++++++++++++++++++++++++++++++++ payloadtoolarge_test.go | 14 ++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 payloadtoolarge.go create mode 100644 payloadtoolarge_test.go diff --git a/payloadtoolarge.go b/payloadtoolarge.go new file mode 100644 index 0000000..6204cfb --- /dev/null +++ b/payloadtoolarge.go @@ -0,0 +1,32 @@ +package errhttp + +type PayloadTooLarge interface { + ClientError + PayloadTooLarge() +} + +type internalPayloadTooLarge struct { + err error +} + +func PayloadTooLargeWrap(err error) error { + return internalPayloadTooLarge{ + err:err, + } +} + +func (receiver internalPayloadTooLarge) Error() string { + return receiver.err.Error() +} + +func (receiver internalPayloadTooLarge) Err() error { + return receiver.err +} + +func (internalPayloadTooLarge) ClientError() { + // Nothing here. +} + +func (internalPayloadTooLarge) PayloadTooLarge() { + // Nothing here. +} diff --git a/payloadtoolarge_test.go b/payloadtoolarge_test.go new file mode 100644 index 0000000..53ebb59 --- /dev/null +++ b/payloadtoolarge_test.go @@ -0,0 +1,14 @@ +package errhttp + +import ( + "testing" +) + +func TestPayloadTooLarge(t *testing.T) { + + var x PayloadTooLarge = internalPayloadTooLarge{} // THIS IS THE LINE THAT ACTUALLY MATTERS IN THIS TEST. + + if nil == x { + t.Errorf("This should not happen.") + } +}