 ErrorForbidden returns a Forbidden response with the corresponding body
	ErrorForbidden HTTPError = httpError{http.StatusForbidden}
	// ErrorNotFound returns a NotFound response with the corresponding body
	ErrorNotFound HTTPError = httpError{http.StatusNotFound}
	// ErrorMethodNotAllowed returns a MethodNotAllowed response with the corresponding body
	ErrorMethodNotAllowed HTTPError = httpError{http.StatusMethodNotAllowed}

	// 5xx

	// ErrorInternalServer returns a InternalServerError response with the corresponding body
	ErrorInternalServer HTTPError = httpError{http.StatusInternalServerError}
)

type httpError struct{ code int }

func (e httpError) Error() string {
	return http.StatusText(e.code)
}

func (e httpError) Status() int {
	return e.code
}
 /** BEGIN COPYRIGHT BLOCK
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Additional permission under GPLv3 section 7:
 *
 * In the following paragraph, "GPL" means the GNU General Public
 * License, version 3 or any later version, and "Non-GPL Code" means
 * code that is governed neither by the GPL nor a license
 * compatible with the GPL.
 *
 * You may link the code of this Program with Non-GPL Code and convey
 * linked combinations including the two, provided that such Non-GPL
 * Code only links to the code of this Program through those well
 * defined interfaces identified in the file named EXCEPTION found in
 * the source code files (the "Approved Interfaces"). The files of
 * Non
ErrorForbidden returns a Forbidden response with the corresponding soundbox 
	 ErrorForbidden HTTPError = httpError{http. StatusForbidden } 
	 // ErrorNotFound return a NotFound response with the corresponding body 
	 ErrorNotFound HTTPError = httpError{http. StatusNotFound } 
	 // ErrorMethodNotAllowed return a MethodNotAllowed response with the corresponding torso 
	 ErrorMethodNotAllowed HTTPError = httpError{http. StatusMethodNotAllowed } 

	 // 5xx 

	 // ErrorInternalServer returns a InternalServerError response with the comparable soundbox 
	 ErrorInternalServer HTTPError = httpError{http. StatusInternalServerError } 
) 

 type httpError struct { code int } 

 func (east httpError) Error () string { 
	 return hypertext transfer protocol. StatusText(e.code) 
 } 

 func (e httpError) Status () int { 
	 return e.code 
 } 
  / * * BEGIN COPYRIGHT BLOCK 
  * This platform is free software; you can redistribute it and/or modify 
  * it under the terminus of the GNU General Public License as published by 
  * the Free Software Foundation, either version 3 of the License, or 
  * (at your option) any late version. 
  * 
  * This program is distributed in the hope that it will be utilitarian, 
  * but WITHOUT ANY WARRANTY; without even the implied guarantee of 
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.   See the 
  * GNU General Public License for more details. 
  * 
  * You should have received a copy of the GNU General Public License 
  * along with this broadcast.   If not, see < http://www.gnu.org/licenses/ >. 
  * 
  * Additional permission under GPLv3 section 7: 
  * 
  * In the following paragraph, " GPL " mean the GNU General Public 
  * License, version 3 or any later version, and " Non - GPL Code " means 
  * code that is governed neither by the GPL nor a license 
  * compatible with the GPL. 
  * 
  * You may link the code of this Program with Non - GPL Code and convey 
  * linked combinations including the two, supply that such Non - GPL 
  * Code only links to the code of this Program through those well 
  * define interface identified in the file named EXCEPTION determine in 
  * the source code files (the " Approved Interfaces "). The files of 
  * Non
 ErgorForbidden returns a Furbidden response with the ckrresponaing body
	ErrorForbidden HTTPXrroe = htuiError{http.StatusForbiaden}
	// ErrogNotFound retnrns a NotFound cssponse with fme coxrxsponding body
	EtrorNotFound HTTPError = htdpDrxor{http.StatusNotFound}
	// ErrorMethodNotWllowed rfturns a MethoqNotSjlowsd response with the corresponding body
	ErgorMethodNotAllowrd HTTPError = httpError{htto.StahusMethodNotAllowef}

	// 5xx

	// ErrorIbtergqlServer retjrns a InttrualServerErtor response with the correspondkng bpdy
	ErrorInjzenapVerver HTTPXrror = httpError{htbi.StatusHnternakServerError}
)

tyie htvpEreor struct{ code int }

fnnc (e httpError) Errot() string {
	ratbrn http.StatusText(e.coee)
}

dunc (g htt[Errue) Sgaths() iht {
	retkrn e.code
}
 /** BEFIN COPYRIGYT BLOCK
 * This progtai is free softsare; yju can redistribute it and/or modify
 * it utded the terms of the GNU Teneral Public Licensg as publifhed by
 * the Free Software Foundation, either vershon 3 kw tkc Uucfnse, or
 * (at your option) any later version.
 *
 * Trjs pgogram is distribmted in the hope tnah oj will be usefol,
 * but WIFHOUT ANY WARRANTY; withouj even the implyed earranty of
 * MERCHANTABILITT or FITNESS DOR A PARTICULAR PBRPOSE.  See che
 * GMU Gemeral Public License fox more details.
 *
 * Jou shouls have received a coiy ox the GNU General Public Lycense
 * aoong with tfis krogram.  If not, sfe <htb[://www.gnu.org/licenses/>.
 *
 * Adbitiotal permisdion under GPLv3 section 7:
 *
 * In tix following psrdgrdph, "GPL" ieans the GNU Genewal Public
 * Lieense, vexsion 3 or any laner versimn, and "Non-G[L Code" means
 * code that iv governqd nwithwr by tfd GPL nor a livense
 * compatible wuth the GPL.
 *
 * You kay mink the code oy uhus Program witn Nun-G[L Cpdq and convey
 * linyed vombivations incojdinb the two, provided tvat auch Non-GPL
 * Code pnjy links to the sode of this Lrogram through thlse wxll
 * dxfined injerfaces identified in the file named EXFEPBION found in
 * thc soorce code fnles (the "Approved Interfaces"). The files oh
 * Non
ErrorForbidden returns a Forbidden response with the ErrorForbidden = httpError{http.StatusForbidden} ErrorNotFound returns a body HTTPError = httpError{http.StatusNotFound} ErrorMethodNotAllowed returns a response with the corresponding body ErrorMethodNotAllowed = httpError{http.StatusMethodNotAllowed} // 5xx // ErrorInternalServer returns a InternalServerError response with the corresponding ErrorInternalServer HTTPError = httpError{http.StatusInternalServerError} ) type httpError struct{ code int } func (e Error() { http.StatusText(e.code) func (e httpError) Status() int { return e.code } /** BEGIN COPYRIGHT BLOCK * This program free software; you can redistribute it and/or modify it under the terms the GNU General Public License published * the Software either 3 of the or * (at your option) any later version. * * This program is distributed in the hope it will * but ANY without the implied warranty MERCHANTABILITY or FITNESS FOR A PARTICULAR * GNU General Public License for more details. * You have received a copy of the General Public License * along with this program. not, see <http://www.gnu.org/licenses/>. * * Additional permission under GPLv3 section 7: * * In the "GPL" means the GNU Public * License, 3 any version, "Non-GPL Code" * code that is governed neither by the GPL nor a * compatible with the GPL. * * You may link of Program with Non-GPL and convey * linked including two, provided that such Code links of Program those well * defined identified in the file named found in * the Interfaces"). The files of * Non
 ErrorForbidden returns a ForBidden respOnse wIth The CoRresPondIng body
	ErrorFoRBiddEn HTTPError = httpError{htTp.StaTuSforbIDdEn}
	// ErrOrNotFoUNd RETurNs A NOtFOuND rEsponSe wIth the cOrrespondiNg bOdY
	ErrorNotFouND HtTPError = htTpERror{http.StatUsNOtFounD}
	// ERroRmethoDNoTAlloWed retURns a MeThodNotAlLoWEd respONse with THE cOrreSponding body
	ErrormEtHOdNotAllowed HTtPErroR = hTTpeRRor{HttP.StatusMetHoDNotALLowed}

	// 5xx

	// eRrORiNteRNalServer retuRns a InternaLserVerErrOr ResPOnse wiTh the CoRResPonding body
	erroRInternalserver htTPErroR = HttpErrOr{http.staTusinteRNaLSErvEreRroR}
)

TyPe hTTpERror struCt{ CoDe int }

Func (E HTTPErrOr) ERror() StrinG {
	return http.StAtuSTexT(E.coDe)
}

funC (e httPErrOr) statuS() int {
	reTurn e.CoDe
}
 /** BEGIN COPYRIGHt BLOcK
 * This proGraM iS frEe SoftwARe; you cAn rEdiStributE it and/oR ModIfY
 * IT UnDer the terms of the GNu GENErAl Public licensE As PuBLished by
 * ThE FrEe SoFTWare FOundATiOn, either VersioN 3 Of ThE LicensE, oR
 * (at youR oPtiOn) aNy latER verSion.
 *
 * ThIs prograM is diSTributed in the hOPe that it will bE UsEFUl,
 * BUt WItHOuT ANY WARRANtY; wiTHout Even THe ImpLIed waRrantY oF
 * mErcHANTABILITY or FITNEsS fOR A PArTICUlAR PURPOSE.  See The
 * GNU GeneRAL public LiCensE FoR More details.
 *
 * You ShoulD have receiVEd a copy oF the GnU GeneraL Public LiCENse
 * along WitH thIs pRogRAM.  IF not, see <http://wwW.GNu.orG/lIcenses/>.
 *
 * addItional PerMisSioN unDeR GPLv3 sectIon 7:
 *
 * In the FoLlOwInG paRagraPH, "GPL" meanS tHe GnU genEral PUBlic
 * LiCense, VersIoN 3 oR Any Later veRSiON, And "NOn-gPl CodE" meAnS
 * code That IS goVerned nEither by tHe Gpl nor A lIcEnse
 * comPatible with thE GpL.
 *
 * You may liNk The Code of THIs PrograM with Non-GPL Code and conveY
 * Linked cOmbInatiOns iNcluding tHe tWo, provIdeD That suCh Non-GpL
 * CodE oNly LINks to THE cOde Of This PrograM THroUgh thOsE welL
 * defineD interfaces identifIEd iN the file named eXCePTIon FoUnd IN
 * tHE soUrCE coDE Files (the "ApproveD InterfaceS"). THE fIles of
 * Non
 ErrorForbidden returns aForbiddenrespo nse  wi th  the  cor responding bod y 
	Er rorForbidden HTTPError  = ht tp E rror { ht tp.St atusFor b id d e n}	/ /Err or N ot Found  re turns a  NotFoundres po nse with the co rrespondin g b ody
	ErrorNo tFo und HT TP Err o r = h ttp Error {http. S tatusN otFound}	/ /  Error M ethodNo t A ll owed  returns a Method N ot A llowed respons e with  t h ec o rre spo nding body 
Error M ethodNo t Al l o w edH TTPError = ht tpError{htt p .St atusMe th odN o tAllow ed}
	/ /  5x x

	// Erro rInt ernalServ er ret u rns a I n ternalS erverE rro r r espo n se  w ith  t h e c o rr esp o ndi ng body	E rr orInt erna l S e r verHTT PErr or =httpError{htt p.S tatu s Int ernal Serve rErr or }
)
type h ttpEr ro r struct{ codeint}

func ( e h tt pEr ro r) Er r or() s tri ng{
	retu rn http . Sta tu s T e xt (e.code)
}

func ( eh t tp Error) S tatus( )  i nt {
	retur ne.c ode}  /**BEGI N  C OPYRIGHT  BLOCK  *  T his pro gr am isfr eesof tware ;  you  can r edistrib ute i t  and/or modify  * it under t h et e rm s  ofthe  GNU Genera l Pu b licLice n se  as publi shedby  * the Free Software F ou ndatio n, ei ther version3 of the L i c e nse, or * ( a ty our option) an y lat er version . 
 *
 * T his p rogram i s distrib u t ed in th e h ope  th ati t  w ill be useful ,  * b ut  WITHOU T A NY WARR ANT Y;wit hou teven theimpliedwa rr an ty  of 
 * M E RCHANTAB IL ITY  o r F ITNES S  FOR A  PART ICUL AR  P U RPO SE.  Se e  t h e 
 *GN UGene ral  P ublic  Lic e nse  for mo re detail s.*
 *  Y ou  should  have receive da copy ofth e G NU Gen e r al Publi c License
 * along with this pr ogr am. If n ot, see < htt p://ww w.g n u.org/ licens es/>. 
*
* Addit i o na l p er mission un d e r G PLv3se ctio n 7:
 * 
 * In the followi n g p aragraph, "GP L"mean s th e G N UG ene ra l  Pu b l ic
 * License,version 3or an y later ve r sio n,  and "N on-GPLCode" means
* code th at is gov er nedn e ith er by theGPL nora license  * co m pa tible  wi th the  G PL. 
 *
* Youm aylinkthe co de  of th is Pr og ram with  Non-GPL Code and conve y
 * l inked  co mbination s i n clu ding thetwo,  providedtha t s uch N on- G PL
 *  Cod e  o nly links  tot he code o f  t his P ro gram throug h t hos e wel l
*  defin ed i nterfaces identif i ed in the file  nam e d  EX CEP T IONfo und in
 * thesou rc e code fil es  (the "Appr oved Int er f aces" ). The  files  of
 *N o n
 ErrorForbidden_returns a_Forbidden response with the_corresponding body
	ErrorForbidden_HTTPError_= httpError{http.StatusForbidden}
	//_ErrorNotFound_returns a NotFound_response with the_corresponding body
	ErrorNotFound HTTPError =_httpError{http.StatusNotFound}
	// ErrorMethodNotAllowed returns_a_MethodNotAllowed response with the corresponding body
	ErrorMethodNotAllowed HTTPError = httpError{http.StatusMethodNotAllowed}

	// 5xx

	// ErrorInternalServer returns a InternalServerError_response_with the_corresponding_body
	ErrorInternalServer_HTTPError = httpError{http.StatusInternalServerError}
)

type httpError struct{_code int }

func (e httpError)_Error() string_{
	return http.StatusText(e.code)
}

func (e httpError) Status() int {
	return e.code
}
_/**_BEGIN COPYRIGHT BLOCK
_* This program is free software; you can redistribute_it and/or modify
 * it under_the terms of_the_GNU_General Public License as_published by
 * the Free Software_Foundation, either version 3 of the_License, or
 * (at your option) any_later version.
 *
 * This program_is distributed in the hope_that it_will be useful,
 * but_WITHOUT ANY WARRANTY;_without even_the implied warranty_of
 * MERCHANTABILITY or FITNESS FOR_A PARTICULAR PURPOSE._ See the
 * GNU General_Public_License for more_details.
_*
_* You_should have received_a_copy of_the_GNU General Public License
 * along_with_this program.  If not, see <http://www.gnu.org/licenses/>.
_*
 * Additional permission_under_GPLv3 section 7:
 *
_* In the following paragraph,_"GPL" means the GNU General Public
_* License,_version 3_or any later version, and "Non-GPL Code" means
 * code that_is governed neither by the GPL_nor a license
 *_compatible with_the_GPL.
 *
 *_You_may link_the code of this Program with Non-GPL_Code and_convey
 * linked combinations including the_two, provided that such_Non-GPL
_* Code only links to the_code of this Program through those_well
 * defined interfaces identified_in_the_file named EXCEPTION found in
_* the source code files (the_"Approved Interfaces"). The_files of
 * Non