[codeface] Re: [PATCH 1/9] upgrade to latest nodejs changes.

  • From: Mitchell Joblin <joblin.m@xxxxxxxxx>
  • To: codeface@xxxxxxxxxxxxx
  • Date: Wed, 26 Nov 2014 12:38:39 +0100

On Tue, Nov 25, 2014 at 7:32 PM, Matthias Dittrich
<matthi.d@xxxxxxxxxxxxxx> wrote:
>
> On 25.11.2014 16:20, Mitchell Joblin wrote:
>>
>> On Mon, Nov 17, 2014 at 8:49 PM, Wolfgang Mauerer <wm@xxxxxxxxxxxxxxxx>
>> wrote:
>>>
>>>
>>> Am 17/11/2014 16:22, schrieb Matthias Dittrich:
>>>>
>>>> On 17.11.2014 16:10, Wolfgang Mauerer wrote:
>>>>>
>>>>> Am 17/10/2014 15:14, schrieb Matthias Dittrich:
>>>>>>
>>>>>> This change makes id_service.js compatible with the latest nodejs
>>>>>> versions.
>>>>>
>>>>> does "latest" version refer to development version, or the latest
>>>>> released version?
>>>>
>>>> I have installed net-libs/nodejs 0.10.21 on my gentoo (which are normaly
>>>> quite up to date with their packages) machine, and that version needs
>>>> that change...
>>>
>>> ok, so it's required for a released version.
>>>>>>
>>>>>> Signed-off-by: Matthias Dittrich <matthi.d@xxxxxxxxx>
>>>>>> ---
>>>>>>    README.md                | 2 +-
>>>>>>    id_service/id_service.js | 9 +++++----
>>>>>>    2 files changed, 6 insertions(+), 5 deletions(-)
>>>>>>
>>>>>> diff --git a/README.md b/README.md
>>>>>> index 4574d23..277a67a 100644
>>>>>> --- a/README.md
>>>>>> +++ b/README.md
>>>>>> @@ -155,7 +155,7 @@ See `bugextractor/INSTALL` for all java-related
>>>>>> details.
>>>>>>      * The ID service requires a few node.js packages. Install them by
>>>>>> running
>>>>>>    -        npm install addressparser express js-yaml mysql
>>>>>> +        npm install addressparser express js-yaml mysql body-parser
>>>>>>        in the `id_service` directory.
>>>>>>    diff --git a/id_service/id_service.js b/id_service/id_service.js
>>>>>> index 2bb5afe..48bc7c1 100644
>>>>>> --- a/id_service/id_service.js
>>>>>> +++ b/id_service/id_service.js
>>>>>> @@ -21,6 +21,7 @@ var mysql = require('mysql');
>>>>>>    var yaml = require("js-yaml");
>>>>>>    var logger = require('./logger');
>>>>>>    var addressparser = require("addressparser");
>>>>>> +var bodyParser = require('body-parser');
>>>>>>      // get property file name
>>>>>>    var fileName = process.argv[2];
>>>>>> @@ -63,10 +64,10 @@ var db_config = {
>>>>>>    };
>>>>>>    var pool = mysql.createPool(db_config)
>>>>>>    -app.configure(function() {
>>>>>> -    // used to parse JSON object given in the body request
>>>>>> -    app.use(express.bodyParser());
>>>>>> -});
>>>>>> +var env = process.env.NODE_ENV || 'development';
>>>>>
>>>>> ... here it seems you're referring to the development version.
>>>>
>>>> https://github.com/strongloop/express/wiki/Migrating-from-3.x-to-4.x
>>>>>
>>>>> But I suppose we will need body-parser when this version becomes
>>>>> a release? If yes, is there maybe a way to use something like
>>>>> a node.js version number?
>>>>
>>>> I'm not really into nodejs and how they handle releases, sorry.
>>>> I can just say that I needed those changes because the old code would
>>>> fail and I saw that this is the recommended change to do.
>>>> If you don't need different environments I think it's fine to remove
>>>> that if clause and keep the app.use call.
>>>
>>> We did not distinguish between development and production
>>> environments before. Even if we distinguished between development
>>> and production environment, why would it help to call the bodyParser()
>>> constructor only during development?
>>>>>
>>>>> Best regards, Wolfgang
>>>>>>
>>>>>> +if ('development' == env) {
>>>>>> +    app.use(bodyParser());
>>>
>>> At least according to
>>>
>>> http://stackoverflow.com/questions/24330014/bodyparser-is-deprecated-express-4,
>>> this call has been deprecated
>>> for many years. The github site you mention does also not say
>>> that you need to call bodyParser(). Can you please make sure
>>> a) why we need bodyParser(), and b) how it's used correctly, if we
>>> need it? Thanks!
>>
>> @Matthias, what's the status of this? I have merged your latest branch
>> (locally) and am testing it out. When I start the id service I get the
>> following
>>
>> Starting REST Service with logging level "info"
>> info: Connecting to MySQL at codeface@localhost database codeface
>> body-parser deprecated undefined extended: provide extended option
>> id_service.js:68:20
>>
>> --Mitchell
>
> I do not see this on my system and I have no idea what that means. Is it at
> least working?

It does not have any visible failures at this point. You added
body-parser in one of you commits and it looks like one of the calls
is already deprecated.

--Mitchell

> --Matthias
>
>>
>>> Best regards, Wolfgang
>>>
>>>>>> +}
>>>>>>      /**
>>>>>>     * Obtain a connection from the pool, check if it works, and then
>>>>>> execute
>>>>>>
>>>>
>
>

Other related posts: