Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
example_test.go53 linesDownload Raw Back to multipart
1// Copyright 2014 The Go Authors. All rights reserved.2// Use of this source code is governed by a BSD-style3// license that can be found in the LICENSE file.4 5package multipart_test6 7import (8	"fmt"9	"io"10	"log"11	"mime"12	"mime/multipart"13	"net/mail"14	"strings"15)16 17func ExampleNewReader() {18	msg := &mail.Message{19		Header: map[string][]string{20			"Content-Type": {"multipart/mixed; boundary=foo"},21		},22		Body: strings.NewReader(23			"--foo\r\nFoo: one\r\n\r\nA section\r\n" +24				"--foo\r\nFoo: two\r\n\r\nAnd another\r\n" +25				"--foo--\r\n"),26	}27	mediaType, params, err := mime.ParseMediaType(msg.Header.Get("Content-Type"))28	if err != nil {29		log.Fatal(err)30	}31	if strings.HasPrefix(mediaType, "multipart/") {32		mr := multipart.NewReader(msg.Body, params["boundary"])33		for {34			p, err := mr.NextPart()35			if err == io.EOF {36				return37			}38			if err != nil {39				log.Fatal(err)40			}41			slurp, err := io.ReadAll(p)42			if err != nil {43				log.Fatal(err)44			}45			fmt.Printf("Part %q: %q\n", p.Header.Get("Foo"), slurp)46		}47	}48 49	// Output:50	// Part "one": "A section"51	// Part "two": "And another"52}53 
codekingpro/portable-devtools · Team Ai