...

Source file src/github.com/go-kivik/kivik/v4/errors_example_test.go

Documentation: github.com/go-kivik/kivik/v4

     1  // Licensed under the Apache License, Version 2.0 (the "License"); you may not
     2  // use this file except in compliance with the License. You may obtain a copy of
     3  // the License at
     4  //
     5  //  http://www.apache.org/licenses/LICENSE-2.0
     6  //
     7  // Unless required by applicable law or agreed to in writing, software
     8  // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
     9  // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
    10  // License for the specific language governing permissions and limitations under
    11  // the License.
    12  
    13  package kivik_test
    14  
    15  import (
    16  	"context"
    17  	"net/http"
    18  
    19  	"github.com/go-kivik/kivik/v4"
    20  )
    21  
    22  func ExampleHTTPStatus() {
    23  	client, err := kivik.New("couch", "http://example.com:5984/")
    24  	if err != nil {
    25  		panic(err)
    26  	}
    27  	row := client.DB("foo").Get(context.Background(), "my_doc_id")
    28  	switch err := row.Err(); kivik.HTTPStatus(err) {
    29  	case http.StatusNotFound:
    30  		return
    31  	case http.StatusUnauthorized:
    32  		panic("Authentication required")
    33  	case http.StatusForbidden:
    34  		panic("You are not authorized")
    35  	default:
    36  		panic("Unexpected error: " + err.Error())
    37  	}
    38  }
    39  

View as plain text