Code Monkey home page Code Monkey logo

Comments (6)

blairn avatar blairn commented on July 22, 2024 7

It took me a day to work it out, but here it is so people don't have to follow....


   #  Access-Control-Allow-Origin: *
   function withCorsHeader(res)
     headers  = HttpCommon.headers()
     headers["Access-Control-Allow-Origin"] = "*"
     Dict(
       :headers => headers,
       :body=> res
     )
   end
   
   @app service = (
     Mux.defaults,
     page("/data", res -> withCorsHeader(getData()))
   )

from mux.jl.

amellnik avatar amellnik commented on July 22, 2024

Is this possible with Mux at the moment? If not, it can't be used for any sort of real situation...

from mux.jl.

amellnik avatar amellnik commented on July 22, 2024

If I use HttpCommon I can construct a response object that includes the necessary headers with something like

resp = Response(200, getHeaders(), JSON.json(Dict("data" => 1, "error" => false)))

but I can't figure out to attach it to a route in Mux -- things like

@app test = (
    Mux.defaults,
    page(respond("Nothing to see here...")),
    route("/test",  req -> respond(Response(200, getHeaders(), "meh"))),
    Mux.notfound()
)
serve(test, port=7777)

don't work.

from mux.jl.

shashi avatar shashi commented on July 22, 2024

it seems you can return a Dict with :status, :headers, and :body keys to do this.

from mux.jl.

amellnik avatar amellnik commented on July 22, 2024

It seems like it should work, but that returns a response with default headers and no body no matter what:

@app test = (
    Mux.defaults,
    page(respond("Nothing to see here...")),
    route("/squareit", squareit),
    route("/solveit", solveit),
    page("/test", req -> Dict("body" => "meh")),
    Mux.notfound()
)

returns the following for all three of the routes

Request URL:http://localhost:7777/test
Request Method:GET
Status Code:200 OK
Remote Address:127.0.0.1:7777
Response Headers
view source
Connection:keep-alive
Content-Language:en
Content-Length:0
Content-Type:text/html; charset=utf-8
Date:Sun, 08 Jan 2017 22:26:38
Server:Julia/0.5.0
Request Headers
view source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:localhost:7777
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537

from mux.jl.

amellnik avatar amellnik commented on July 22, 2024

Ugh, not sure how I managed to not find this while flailing around. Thanks!!!

from mux.jl.

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.