Coder Social home page Coder Social logo

Listening on the wrong port about kitura-net HOT 7 CLOSED

kitura avatar kitura commented on May 20, 2024
Listening on the wrong port

from kitura-net.

Comments (7)

dfirsht avatar dfirsht commented on May 20, 2024

Hey @da-na, the internal numbers do not have anything to do with what port the connection comes in on. Can you paste your routes here?

from kitura-net.

chrisozenne avatar chrisozenne commented on May 20, 2024

@dfirsht: I had the same confusion as @da-na. My expectation was the same and I was surprised to see the accepted connection display a different port number for each request. I imagine if I was running a server on multiple ports that it would be more helpful to see the log telling me which of those ports was coming in to, i.e: 80 vs 443. What would be the advantage of the way that it currently is now?

from kitura-net.

vadimeisenbergibm avatar vadimeisenbergibm commented on May 20, 2024

@da-na @chrisozenne I have fixed the log message to prevent the confusion - the printed port is the client port, it is not the a server port on which the application accepts incoming connections.

For more about local/remote ports and sockets, see this Stackoverflow answer

from kitura-net.

chrisozenne avatar chrisozenne commented on May 20, 2024

Thank you!!

from kitura-net.

da-na avatar da-na commented on May 20, 2024

Thanks for fixing the log!

@dfirsht is there an easy way to print them out ? Like print(router.debugDescription) ? I'm asking as I didn't see it in the code, but maybe I'm missing sth. In case there's none .debugDescription it would be great if you could add it! Same thing for the request.debugDescription, as currently this Log.info("Request: \(request)") prints no valuable information.

I set them up this way:

func setupRoutes(router: Router, messages: MessagesArray) {
    Log.info("SETTING UP ROUTER")

    router.use("/*", middleware: BodyParser())
    router.all("/") {
        _, _, next in next()
    }
    // Get all the messages
    router.get("/") {
        request, response, next in

        Log.info("Request: \(request)")
        let json = JSON(MessagesArray.serialize(messages.getAll()))

        response.status(HttpStatusCode.OK).sendJson(json)

        next()
    }
    // Handle options
    router.options("/*") {
        request, response, next in

        response.setHeader("Access-Control-Allow-Headers", value: "accept, content-type")
        response.setHeader("Access-Control-Allow-Methods", value: "GET")

        response.status(HttpStatusCode.OK)

        Log.info("Options handling set")

        next()
    }
}

EDIT:
I've add Log.info to the serialize function, and in my code I get this log:
SERIALIZE: [["title": Blabla, "completed": 0, "id": 0, "text": n test, "date_created": 2016-03-15 14:08:23 +0000, "url": http://localhost:8090/messages/0, "originator": Me], ["title": Blabla, "completed": 0, "id": 1, "text": m test, "date_created": 2016-03-15 14:08:23 +0000, "url": http://localhost:8090/messages/1, "originator": Me]]

and then in the browser I get Json Unknown

for the original TodoList the log looks like this
SERIALIZE [["title": Reticulate splines, "completed": 0, "id": 0, "order": 0, "url": http://localhost:8090/todos/0], ["title": Herd llamas, "completed": 0, "id": 1, "order": 1, "url": http://localhost:8090/todos/1]]
and it produces

[
  {
    "title" : "Reticulate splines",
    "completed" : false,
    "id" : "0",
    "order" : 0,
    "url" : "http:\/\/localhost:8090\/todos\/0"
  },
  {
    "title" : "Herd llamas",
    "completed" : false,
    "id" : "1",
    "order" : 1,
    "url" : "http:\/\/localhost:8090\/todos\/1"
  }
]

Could NSDate be a problem? Or maybe the enum that I'm using for the originator? (It's an enum that inherits after String though)

from kitura-net.

da-na avatar da-na commented on May 20, 2024

Hi!
The solution is described here: SwiftyJSON/SwiftyJSON#421 (using the NSDate) and is not related to routing.

Thanks for all the help!

Would be awesome though if the *.debugDescription was added :)

from kitura-net.

dfirsht avatar dfirsht commented on May 20, 2024

Great! I'm going to close this then. Yeah I think a debug mode would help, that's something I would like to do in the future.

from kitura-net.

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.