Git Product home page Git Product logo

Comments (4)

Davincible avatar Davincible commented on August 22, 2024

Example?

from plugins.

liispon avatar liispon commented on August 22, 2024

I tried spring config server. It returned "Content-Type: text/plain" for a YAML file.
It made "config/source/url" can't work with it.
So I wonder if we could add an option to work around such cases.

from plugins.

Davincible avatar Davincible commented on August 22, 2024

I see, do you get an error? If so could you paste the full error

from plugins.

liispon avatar liispon commented on August 22, 2024

Example code:

        enc := yaml.NewEncoder()
	urlSource := url.NewSource(
		url.WithURL(path),
		source.WithEncoder(enc),
	)
	conf, err := config.NewConfig(
		config.WithReader(mjson.NewReader(reader.WithEncoder(enc))),
	)
       conf.Load(urlSource)

error message:

Error creating config: invalid character 'b' looking for beginning of value

And If remove code in url.go dealing with 'content-type', it could parse the YAML correctly.

func (u *urlSource) Read() (*source.ChangeSet, error) {
	rsp, err := http.Get(u.url)
	if err != nil {
		return nil, err
	}
	defer rsp.Body.Close()

	b, err := io.ReadAll(rsp.Body)
	if err != nil {
		return nil, err
	}

	// ft := format(rsp.Header.Get("Content-Type"))
	// if len(ft) == 0 {
	ft := u.opts.Encoder.String()
	//}

	cs := &source.ChangeSet{
		Data:      b,
		Format:    ft,
		Timestamp: time.Now(),
		Source:    u.String(),
	}
	cs.Checksum = cs.Sum()

	return cs, nil
}

from plugins.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.